package Ġdk . cache t . car p . deployments . application Ċ Ċ import Ġdk . cache t . car p . common . application . data . DataType Ċ import Ġdk . cache t . car p . common . application . devices . S mar tp hone Ċ import Ġdk . cache t . car p . common . application . sampling . Battery Aware Sampling Configuration Ċ import Ġdk . cache t . car p . common . application . sampling . Gran ularity Ċ import Ġdk . cache t . car p . common . application . sampling . Gran ularity Sampling Configuration Ċ import Ġdk . cache t . car p . common . application . sampling . No Options Sampling Configuration Ċ import Ġdk . cache t . car p . common . application . triggers . Task Control Ċ import Ġdk . cache t . car p . common . infrastructure . test . Stub Device Descriptor Ċ import Ġdk . cache t . car p . common . infrastructure . test . Stub Master Device Descriptor Ċ import Ġdk . cache t . car p . common . infrastructure . test . Stub Task Descriptor Ċ import Ġdk . cache t . car p . common . infrastructure . test . Stub Trigger Ċ import Ġkotlin . test .* ĊĊ Ċ /** Ċ Ġ* ĠTests Ġfor Ġ[ Master Device Deployment ]. Ċ Ġ*/ Ċ class ĠMaster Device Deployment Test Ċ { ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ contains _ all _ devices () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmaster Ġ= ĠStub Master Device Descriptor ( Ġ" Master " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġregistration Ġ= Ġmaster . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġconnected Ġ= ĠStub Device Descriptor ( Ġ" Connected " Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDeployment Ġwith Ġregistered Ġmaster Ġdevice Ġand Ġun registered Ġconnected Ġdevice . ĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( Ġmaster , Ġregistration , Ġset Of ( Ġconnected Ġ) Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdevices Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġ 2 , Ġdevices . size Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġ 1 , Ġdevices . count Ġ{ Ġit . descriptor Ġ== Ġmaster Ġ&& Ġ! it . isConnected Device Ġ} Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġ 1 , Ġdevices . count Ġ{ Ġit . descriptor Ġ== Ġconnected Ġ&& Ġit . isConnected Device Ġ} Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ contains _ default _ sampling _ configuration () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmaster Ġ= ĠStub Master Device Descriptor ( Ġ" Master " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġregistration Ġ= Ġmaster . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( Ġmaster , Ġregistration Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdevice Info Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first Ġ{ Ġit . descriptor Ġ== Ġmaster Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStub Master Device Descriptor . Sensors . map Ġ{ Ġit . key Ġto Ġit . value . default Ġ}. toMap (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Info . default Sampling Configuration ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ contains _ over ridden _ sampling _ configuration () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype MetaData Ġ= ĠS mar tp hone . Sensors . GEO LOCATION ĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= Ġtype MetaData . dataType . type ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Override Ġ= ĠB attery Aware Sampling Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr an ularity Sampling Configuration ( ĠGr an ularity . Co arse Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr an ularity Sampling Configuration ( ĠGr an ularity . Co arse Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr an ularity Sampling Configuration ( ĠGr an ularity . Co arse Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= ĠS mar tp hone ( Ġ" Ir relevant ", Ġmap Of ( ĠdataType Ġto Ġconfiguration Override Ġ) Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġregistration Ġ= Ġdevice . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( Ġdevice , Ġregistration Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdevice Info Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first Ġ{ Ġit . descriptor Ġ== Ġdevice Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Override , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Info . default Sampling Configuration [ ĠdataType Ġ] ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ contains _ unexpected _ data _ type _ sampling _ configurations () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġunexpected Type Ġ= ĠDataType ( Ġ" something ", Ġ" unexpected " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġunexpected Type Configuration Ġ= ĠNo Options Sampling Configuration ĊĠĠĠĠĠĠĠ Ġval Ġmaster Ġ= ĠStub Master Device Descriptor ( Ġ" Master ", Ġmap Of ( Ġunexpected Type Ġto Ġunexpected Type Configuration Ġ) Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġregistration Ġ= Ġmaster . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( Ġmaster , Ġregistration Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdevice Info Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first Ġ{ Ġit . descriptor Ġ== Ġmaster Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġunexpected Type Configuration , Ġdevice Info . default Sampling Configuration [ Ġunexpected Type Ġ] Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ contains _ all _ tasks () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= ĠStub Master Device Descriptor ( Ġ" Master " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġregistration Ġ= Ġdevice . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġconnected Ġ= ĠStub Device Descriptor ( Ġ" Connected " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġconnected Registration Ġ= Ġconnected . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠStub Task Descriptor () ĊĠĠĠĠĠĠĠ Ġval Ġmaster Trigger Ġ= ĠStub Trigger ( Ġdevice . role Name Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġconnected Trigger Ġ= ĠStub Trigger ( Ġconnected . role Name Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Descriptor Ġ= Ġdevice , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregistration Ġ= Ġregistration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnected Devices Ġ= Ġset Of ( Ġconnected Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnected Device Regist rations Ġ= Ġmap Of ( Ġconnected . role Name Ġto Ġconnected Registration Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks Ġ= Ġset Of ( Ġtask Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtriggers Ġ= Ġmap Of ( Ġ 0 Ġto Ġmaster Trigger , Ġ 1 Ġto Ġconnected Trigger Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Controls Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTask Control ( Ġ 0 , Ġtask . name , Ġdevice . role Name , ĠTask Control . Control . Start Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTask Control ( Ġ 1 , Ġtask . name , Ġconnected . role Name , ĠTask Control . Control . Start Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġdevices : ĠList < Master Device Deployment . Runtime DeviceInfo > Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġ 2 , Ġdevices . size Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġset Of ( Ġtask Ġ), Ġdevices . first Ġ{ Ġit . descriptor Ġ== Ġdevice Ġ}. tasks Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġset Of ( Ġtask Ġ), Ġdevices . first Ġ{ Ġit . descriptor Ġ== Ġconnected Ġ}. tasks Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ includes _ devices _ with _ no _ tasks () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= ĠStub Master Device Descriptor ( Ġ" Master " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġregistration Ġ= Ġdevice . create Registration () ĊĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( Ġdevice , Ġregistration Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġdevices : ĠList < Master Device Deployment . Runtime DeviceInfo > Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġ 1 , Ġdevices . size Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġempty Set (), Ġdevices . single (). tasks Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Runtime DeviceInfo _ does _ not _ include _ tasks _ for _ other _ master _ devices () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmaster 1 Ġ= ĠStub Master Device Descriptor ( Ġ" Master Ġ 1 " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠStub Task Descriptor () ĊĠĠĠĠĠĠĠ Ġval Ġmaster 2 Ġ= ĠStub Master Device Descriptor ( Ġ" Master Ġ 2 " Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġmaster 1 Registration Ġ= Ġmaster 1 . create Registration () ĊĠĠĠĠĠĠĠ Ġval Ġmaster 1 Trigger Ġ= ĠStub Trigger ( Ġmaster 1 . role Name Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdeployment Ġ= ĠMaster Device Deployment ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Descriptor Ġ= Ġmaster 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregistration Ġ= Ġmaster 1 Registration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnected Devices Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnected Device Regist rations Ġ= Ġempty Map (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks Ġ= Ġset Of ( Ġtask Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtriggers Ġ= Ġmap Of ( Ġ 0 Ġto Ġmaster 1 Trigger Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Controls Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTask Control ( Ġ 0 , Ġtask . name , Ġmaster 1 . role Name , ĠTask Control . Control . Start Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTask Control ( Ġ 0 , Ġ" Task Ġon ĠMaster Ġ 2 ", Ġmaster 2 . role Name , ĠTask Control . Control . Start Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġdevices : ĠList < Master Device Deployment . Runtime DeviceInfo > Ġ= Ġdeployment . get Runtime DeviceInfo () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġ 1 , Ġdevices . size Ġ) Ġ// ĠThe Ġother Ġmaster Ġdevice Ġ( master 2 ) Ġis Ġnot Ġincluded . ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġmaster 1 , Ġdevices . single (). descriptor Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Ġset Of ( Ġtask Ġ), Ġdevices . single (). tasks Ġ) ĊĠĠĠ Ġ} Ċ } Ċ