RBD-MS tSQLt Report

PASSED

96 passed, 0 failed, 96 total

ResultTest
No individual test rows were parsed. See raw output.

Raw Output

(0 rows affected)
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000                    NULL NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 16:00:00.000               1 2026-05-01 06:00:00.000                    NULL NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 16:00:00.000 2026-05-02 00:00:00.000               1 2026-05-01 06:00:00.000                    NULL NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000             999 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000             999 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 16:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 16:00:00.000 2026-05-01 18:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 02:00:00.000 2026-05-01 06:00:00.000               1 2026-05-01 02:00:00.000 2026-05-01 06:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 broken thing                                                                                                                                                                                                                                                     alice                                              2026-05-01 11:00:00.000           5               2             1            0           1
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 broken thing                                                                                                                                                                                                                                                     alice                                              2026-05-01 11:00:00.000           5               2             1            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 16:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 16:00:00.000 2026-05-01 18:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000                    NULL NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000                    NULL               1 2026-05-01 06:00:00.000                    NULL NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 08:00:00.000 2026-05-01 10:00:00.000               1 2026-05-01 08:00:00.000 2026-05-01 10:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 16:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 16:00:00.000 2026-05-01 18:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Start                   End                     OriginalDelayId OriginalStart           OriginalEnd             Comments                                                                                                                                                                                                                                                         JustifiedByUser                                    JustifiedDatetime       DelayCodeId DelayCategoryId IsDelayManual IsMicroDelay AssetId    
----------------------- ----------------------- --------------- ----------------------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------- ----------- --------------- ------------- ------------ -----------
2026-05-01 06:00:00.000 2026-05-01 08:00:00.000               1 2026-05-01 06:00:00.000 2026-05-01 08:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 08:00:00.000 2026-05-01 16:00:00.000               1 2026-05-01 08:00:00.000 2026-05-01 16:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
2026-05-01 16:00:00.000 2026-05-01 18:00:00.000               1 2026-05-01 16:00:00.000 2026-05-01 18:00:00.000 NULL                                                                                                                                                                                                                                                             NULL                                                                  NULL        NULL            NULL             0            0           1
Status  TotalAlerts Subject                                                                                                                                                                                                                                                         BodyLength          
------- ----------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------
Success           5 RBD-MS Alerts (5)                                                                                                                                                                                                                                                               4110
Status    TotalAlerts Subject             BodyLength 
--------- ----------- ------------------- -----------
No Alerts           0 No alerts to report           0
Status      TotalWarnings Subject               BodyLength 
----------- ------------- --------------------- -----------
No Warnings             0 No warnings to report           0
Status  TotalWarnings Subject                                                                                                                                                                                                                                                         BodyLength          
------- ------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------
Success             9 RBD-MS Warnings (9)                                                                                                                                                                                                                                                             5282
Status  TotalWarnings Subject                                                                                                                                                                                                                                                         BodyLength          
------- ------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------
Success             9 RBD-MS Warnings (9)                                                                                                                                                                                                                                                             5282
Status  TotalAlerts Subject                                                                                                                                                                                                                                                         BodyLength          
------- ----------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------
Success           5 RBD-MS Alerts (5)                                                                                                                                                                                                                                                               4110
Status  NewErrors   StoppedJobs
------- ----------- -----------
Success           1           1
Status  NewErrors   StoppedJobs
------- ----------- -----------
Success           1           0
Status  NewErrors   StoppedJobs
------- ----------- -----------
Success           0           1
Status         NewErrors   StoppedJobs
-------------- ----------- -----------
No Diagnostics           0           0
 
+----------------------+
|Test Execution Summary|
+----------------------+
 
|No|Test Case Name                                                                                                    |Dur(ms)|Result |
+--+------------------------------------------------------------------------------------------------------------------+-------+-------+
|1 |[DEL_GetDelay_Tests].[test IsDelayManual is aliased as IsManual for manual delay]                                 |     41|Success|
|2 |[DEL_GetDelay_Tests].[test returns delay row when DelayId exists]                                                 |     45|Success|
|3 |[DEL_GetDelay_Tests].[test returns empty result set when DelayId does not exist]                                  |     49|Success|
|4 |[DEL_GetDelay_Tests].[test returns NULL End for active delay]                                                     |     53|Success|
|5 |[DEL_GetDelay_Tests].[test returns NULL justification fields for unjustified delay]                               |    692|Success|
|6 |[DEL_GetDelay_Tests].[test returns only matching delay when multiple delays exist]                                |     37|Success|
|7 |[DEL_GetDelay_Tests].[test returns split delay original fields]                                                   |     69|Success|
|8 |[DEL_SpliceDelaysByShiftJob_Tests].[test assigns ShiftId via GetShiftId for new slices]                           |     49|Success|
|9 |[DEL_SpliceDelaysByShiftJob_Tests].[test closes open delay at boundary for past shifts]                           |     57|Success|
|10|[DEL_SpliceDelaysByShiftJob_Tests].[test does not modify delay contained in one shift]                            |     44|Success|
|11|[DEL_SpliceDelaysByShiftJob_Tests].[test handles delay starting on shift boundary]                                |     41|Success|
|12|[DEL_SpliceDelaysByShiftJob_Tests].[test ignores delays before DaysBack window]                                   |     40|Success|
|13|[DEL_SpliceDelaysByShiftJob_Tests].[test ignores delays starting after End parameter]                             |     41|Success|
|14|[DEL_SpliceDelaysByShiftJob_Tests].[test is idempotent on second run]                                             |     62|Success|
|15|[DEL_SpliceDelaysByShiftJob_Tests].[test keeps open delay open in current shift]                                  |     49|Success|
|16|[DEL_SpliceDelaysByShiftJob_Tests].[test marks slice non-micro when longer than MinDelayTime]                     |     57|Success|
|17|[DEL_SpliceDelaysByShiftJob_Tests].[test NULL AssetId processes only Caster EAF LMF]                              |     53|Success|
|18|[DEL_SpliceDelaysByShiftJob_Tests].[test preserves OriginalDelayId when re-splicing]                              |     49|Success|
|19|[DEL_SpliceDelaysByShiftJob_Tests].[test propagates justification and metadata to new slices]                     |     49|Success|
|20|[DEL_SpliceDelaysByShiftJob_Tests].[test sets OriginalDelayId to self for first splice]                           |     49|Success|
|21|[DEL_SpliceDelaysByShiftJob_Tests].[test splits delay crossing multiple shift boundaries]                         |     58|Success|
|22|[DEL_SpliceDelaysByShiftJob_Tests].[test splits delay crossing one shift boundary]                                |     53|Success|
|23|[DEL_SpliceDelaysByShiftJob_Tests].[test throws when AssetId does not exist]                                      |     53|Success|
|24|[DEL_UpsertDelayCategory_Tests].[test insert ignores @IsActive parameter]                                         |     28|Success|
|25|[DEL_UpsertDelayCategory_Tests].[test insert with name colliding inactive sibling succeeds]                       |     29|Success|
|26|[DEL_UpsertDelayCategory_Tests].[test insert with same name in different area succeeds]                           |     29|Success|
|27|[DEL_UpsertDelayCategory_Tests].[test insert writes Name Color and DelayAreaAssetId]                              |     20|Success|
|28|[DEL_UpsertDelayCategory_Tests].[test successful insert does not call WriteLog]                                   |     65|Success|
|29|[DEL_UpsertDelayCategory_Tests].[test successful update calls WriteLog once]                                      |     33|Success|
|30|[DEL_UpsertDelayCategory_Tests].[test throws 50000 when name collides with active sibling in same area]           |     61|Success|
|31|[DEL_UpsertDelayCategory_Tests].[test throws 51001 when both DelayAreaAssetId and DelayCategoryId are NULL]       |     16|Success|
|32|[DEL_UpsertDelayCategory_Tests].[test throws 51002 when DelayAreaAssetId is not a delay area]                     |     24|Success|
|33|[DEL_UpsertDelayCategory_Tests].[test throws 51002 when update reparents to a non-delay-area asset]               |     25|Success|
|34|[DEL_UpsertDelayCategory_Tests].[test throws 51004 when DelayCategoryName is NULL]                                |     16|Success|
|35|[DEL_UpsertDelayCategory_Tests].[test throws 51005 when DelayCategoryColor is NULL]                               |     41|Success|
|36|[DEL_UpsertDelayCategory_Tests].[test throws 51006 when DelayCategoryId does not exist]                           |     25|Success|
|37|[DEL_UpsertDelayCategory_Tests].[test update inherits DelayAreaAssetId from existing row when NULL]               |     37|Success|
|38|[DEL_UpsertDelayCategory_Tests].[test update reparents category to new DelayAreaAssetId]                          |     28|Success|
|39|[DEL_UpsertDelayCategory_Tests].[test update toggles IsActive]                                                    |     28|Success|
|40|[DEL_UpsertDelayCategory_Tests].[test update with same name as self does not throw 50000]                         |     33|Success|
|41|[DEL_UpsertDelayCategory_Tests].[test update writes new DelayCategoryColor]                                       |     28|Success|
|42|[DEL_UpsertDelayCategory_Tests].[test update writes new DelayCategoryName]                                        |     28|Success|
|43|[DEL_UpsertManualDelay_Tests].[test insert open delay leaves End NULL]                                            |     33|Success|
|44|[DEL_UpsertManualDelay_Tests].[test insert throws 51301 when AssetId is NULL]                                     |     20|Success|
|45|[DEL_UpsertManualDelay_Tests].[test insert throws 51302 when Start is NULL]                                       |     24|Success|
|46|[DEL_UpsertManualDelay_Tests].[test insert throws 51303 when an open delay precedes Start]                        |     49|Success|
|47|[DEL_UpsertManualDelay_Tests].[test insert throws 51304 when End is before Start]                                 |     21|Success|
|48|[DEL_UpsertManualDelay_Tests].[test insert throws 51305 when range collides with existing delay]                  |     65|Success|
|49|[DEL_UpsertManualDelay_Tests].[test insert throws 51306 when End is NULL and a later delay exists]                |     90|Success|
|50|[DEL_UpsertManualDelay_Tests].[test insert with code stamps JustifiedByUser and JustifiedDatetime]                |     73|Success|
|51|[DEL_UpsertManualDelay_Tests].[test insert with End sets IsDelayManual IsMicroDelay and ShiftId]                  |     53|Success|
|52|[DEL_UpsertManualDelay_Tests].[test insert without code or category leaves Justified fields NULL]                 |     37|Success|
|53|[DEL_UpsertManualDelay_Tests].[test NULL skips Code and Category existence check]                                 |     53|Success|
|54|[DEL_UpsertManualDelay_Tests].[test sentinel -1 skips Code and Category existence check]                          |     77|Success|
|55|[DEL_UpsertManualDelay_Tests].[test throws 51309 when DelayCategoryId does not exist]                             |     53|Success|
|56|[DEL_UpsertManualDelay_Tests].[test throws 51309 when DelayCodeId does not exist]                                 |     37|Success|
|57|[DEL_UpsertManualDelay_Tests].[test throws 51310 when no shift exists for Start]                                  |     25|Success|
|58|[DEL_UpsertManualDelay_Tests].[test update changing code re-stamps Justified fields]                              |     53|Success|
|59|[DEL_UpsertManualDelay_Tests].[test update inherits current Start when @Start is NULL]                            |     44|Success|
|60|[DEL_UpsertManualDelay_Tests].[test update throws 51307 when DelayId does not exist]                              |     33|Success|
|61|[DEL_UpsertManualDelay_Tests].[test update throws 51308 when delay is not manual]                                 |     44|Success|
|62|[DEL_UpsertManualDelay_Tests].[test update throws 51311 when an open delay precedes Start]                        |     32|Success|
|63|[DEL_UpsertManualDelay_Tests].[test update throws 51312 when inherited End is before new Start]                   |     28|Success|
|64|[DEL_UpsertManualDelay_Tests].[test update with non-NULL Comments overwrites]                                     |     44|Success|
|65|[DEL_UpsertManualDelay_Tests].[test update with NULL Comments keeps existing]                                     |     44|Success|
|66|[DEL_UpsertManualDelay_Tests].[test update with NULL wipes code]                                                  |     65|Success|
|67|[DEL_UpsertManualDelay_Tests].[test update with same code does not re-stamp Justified fields]                     |     41|Success|
|68|[DEL_UpsertManualDelay_Tests].[test update with sentinel -1 keeps current code]                                   |     65|Success|
|69|[DEL_UpsertManualDelay_Tests].[test update with sentinel -1 on code does not re-stamp Justified fields]           |     57|Success|
|70|[DEL_UpsertManualDelay_Tests].[test update writes new Start End and recomputes ShiftId]                           |     49|Success|
|71|[RBD_EmailJobRecipients_Tests].[test 1 alerts job enqueues db recipients comma delimited]                         |    147|Success|
|72|[RBD_EmailJobRecipients_Tests].[test 10 diagnostic errors and stopped jobs enqueue a single combined email]       |    155|Success|
|73|[RBD_EmailJobRecipients_Tests].[test 2 alerts job converts caller override to commas without forcing operations]  |    503|Success|
|74|[RBD_EmailJobRecipients_Tests].[test 3 alerts job does not enqueue when no alerts]                                |    156|Success|
|75|[RBD_EmailJobRecipients_Tests].[test 4 warnings job enqueues db recipients comma delimited]                       |    146|Success|
|76|[RBD_EmailJobRecipients_Tests].[test 5 warnings job converts caller override to commas without forcing operations]|    130|Success|
|77|[RBD_EmailJobRecipients_Tests].[test 6 warnings job does not enqueue when no warnings]                            |    123|Success|
|78|[RBD_EmailJobRecipients_Tests].[test 7 diagnostic errors enqueue db recipients comma delimited]                   |    115|Success|
|79|[RBD_EmailJobRecipients_Tests].[test 8 diagnostic stopped jobs enqueue db recipients comma delimited]             |     90|Success|
|80|[RBD_EmailJobRecipients_Tests].[test 9 diagnostic does not enqueue when no errors and no stopped jobs]            |    147|Success|
|81|[RBD_GetRecipientsByCategory_Tests].[test 1 semicolon list returns comma delimited]                               |     12|Success|
|82|[RBD_GetRecipientsByCategory_Tests].[test 10 missing setting defaults to operations]                              |      8|Success|
|83|[RBD_GetRecipientsByCategory_Tests].[test 11 empty setting defaults to operations]                                |     16|Success|
|84|[RBD_GetRecipientsByCategory_Tests].[test 12 whitespace only setting defaults to operations]                      |     12|Success|
|85|[RBD_GetRecipientsByCategory_Tests].[test 13 delimiter only setting defaults to operations]                       |     12|Success|
|86|[RBD_GetRecipientsByCategory_Tests].[test 14 leading delimiter is trimmed]                                        |     12|Success|
|87|[RBD_GetRecipientsByCategory_Tests].[test 15 trailing delimiter is trimmed]                                       |      8|Success|
|88|[RBD_GetRecipientsByCategory_Tests].[test 16 consecutive delimiters are collapsed]                                |     13|Success|
|89|[RBD_GetRecipientsByCategory_Tests].[test 2 semicolon list preserved for semicolon delimiter]                     |      8|Success|
|90|[RBD_GetRecipientsByCategory_Tests].[test 3 mixed separators unified to requested delimiter]                      |     12|Success|
|91|[RBD_GetRecipientsByCategory_Tests].[test 4 spaces are stripped]                                                  |     12|Success|
|92|[RBD_GetRecipientsByCategory_Tests].[test 5 operations appended when missing]                                     |     12|Success|
|93|[RBD_GetRecipientsByCategory_Tests].[test 6 operations not duplicated when present]                               |      8|Success|
|94|[RBD_GetRecipientsByCategory_Tests].[test 7 operations match is case insensitive]                                 |     12|Success|
|95|[RBD_GetRecipientsByCategory_Tests].[test 8 operations appended when only a substring match exists]               |     13|Success|
|96|[RBD_GetRecipientsByCategory_Tests].[test 9 lone operations value returned unchanged]                             |     45|Success|
------------------------------------------------------------------------------------------
Test Case Summary: 96 test case(s) executed, 96 succeeded, 0 skipped, 0 failed, 0 errored.
------------------------------------------------------------------------------------------