package Ġcom . cat p . th und ers im line up . data . db . operation Ċ Ċ import Ġcom . cat p . th und ers im line up . data . db . Line up Dao Ċ import Ġcom . cat p . th und ers im line up . data . db . entity . Team With Vehicle Cross Ref Ċ import Ġcom . cat p . th und ers im line up . data . db . entity . Vehicle Status Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Inject Mock Ks Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . verify Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠUpdate Vehicle Cross Ref Status Test Ġ{ ĊĠĠĠ Ġ@ Mock K ( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġlateinit Ġvar Ġdao : ĠLine up Dao ĊĊĠĠĠ Ġ@ Inject Mock Ks ĊĠĠĠ Ġlateinit Ġvar Ġupdate Vehicle Cross Ref Status : ĠUpdate Vehicle Cross Ref Status ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` empty Ġdb , Ġdo Ġnothing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdao . get Team With Vehicle Cross Ref () Ġ} Ġreturns Ġempty List () ĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġupdate Vehicle Cross Ref Status . process () ĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Vehicle Cross Ref ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . update Vehicle Cross Ref ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` no Ġvehicles Ġto Ġdelete , Ġand Ġno Ġvehicles Ġwith Ġnew Ġstatus Ġ- Ġdo Ġnothing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdao . get Team With Vehicle Cross Ref () Ġ} Ġreturns ĠlistOf ( Team With Vehicle Cross Ref ( 1 , Ġ" a ")) ĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġupdate Vehicle Cross Ref Status . process () ĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Vehicle Cross Ref ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . update Vehicle Cross Ref ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` vehicle Ġwith Ġdelete Ġstate , Ġdelete Ġit Ġfrom Ġdb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġval Ġto Delete Ġ= ĠTeam With Vehicle Cross Ref ( 1 , Ġ" a ", ĠVehicle Status . DELETED ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdao . get Team With Vehicle Cross Ref () Ġ} Ġreturns ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Delete , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTeam With Vehicle Cross Ref ( 2 , Ġ" b ", ĠVehicle Status . REG ULAR ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġupdate Vehicle Cross Ref Status . process () ĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Vehicle Cross Ref ( eq ( listOf ( to Delete ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . update Vehicle Cross Ref ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` f ew Ġvehicles Ġwith Ġnew Ġstate , Ġupdate Ġit Ġto Ġregular `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġval Ġto Drop Ġ= ĠTeam With Vehicle Cross Ref ( 1 , Ġ" a ", ĠVehicle Status . NEW ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġdao . get Team With Vehicle Cross Ref () Ġ} Ġreturns ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Drop , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTeam With Vehicle Cross Ref ( 2 , Ġ" b ", ĠVehicle Status . REG ULAR ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġupdate Vehicle Cross Ref Status . process () ĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . update Vehicle Cross Ref ( eq ( listOf ( to Drop ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . delete Vehicle Cross Ref ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }