package Ġde . r ki . cor on aw arn app . di agnosis keys . storage Ċ Ċ import Ġde . r ki . cor on aw arn app . di agnosis keys . server . Location Code Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġorg . joda . time . Instant Ċ import Ġorg . joda . time . LocalDate Ċ import Ġorg . joda . time . Local Time Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġtest helpers . Base Test Ċ Ċ class ĠCached Key File Test Ġ: ĠBaseTest () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtype Ġ= ĠCached Key Info . Type . LOCATION _ DAY ĊĠĠĠ Ġprivate Ġval Ġlocation Ġ= ĠLocation Code (" DE ") ĊĠĠĠ Ġprivate Ġval Ġday Ġ= ĠLocalDate . parse (" 2 2 2 2 - 1 2 - 3 1 ") ĊĠĠĠ Ġprivate Ġval Ġhour Ġ= ĠLocal Time . parse (" 2 3 : 5 9 ") ĊĠĠĠ Ġprivate Ġval Ġnow Ġ= ĠInstant . EPOCH ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` secondary Ġconstructor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= ĠCached Key Info ( type , Ġlocation , Ġday , Ġhour , Ġnow ) ĊĊĠĠĠĠĠĠĠ Ġkey . id ĠshouldBe ĠCached Key Info . cal cl uate Id ( location , Ġday , Ġhour , Ġtype ) ĊĠĠĠĠĠĠĠ Ġkey . etag ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġkey . is Download Complete ĠshouldBe Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` key file Ġid Ġcalculation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcalculated Id 1 Ġ= ĠCached Key Info . cal cl uate Id ( location , Ġday , Ġhour , Ġtype ) ĊĠĠĠĠĠĠĠ Ġval Ġcalculated Id 2 Ġ= ĠCached Key Info . cal cl uate Id ( location , Ġday , Ġhour , Ġtype ) ĊĠĠĠĠĠĠĠ Ġcalculated Id 1 ĠshouldBe Ġcalculated Id 2 ĊĊĠĠĠĠĠĠĠ Ġcalculated Id 1 ĠshouldBe Ġ" 5 5 0 b 6 4 7 7 3 e 0 5 2 b 9 ddf 2 3 2 9 9 8 a 9 2 8 4 6 8 3 3 ed 3 f 9 0 7 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` to Ġcompletion `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= ĠCached Key Info ( type , Ġlocation , Ġday , Ġhour , Ġnow ) ĊĠĠĠĠĠĠĠ Ġval Ġtest Checksum Ġ= Ġ" test checksum " ĊĠĠĠĠĠĠĠ Ġval Ġdownload Complete Update Ġ= Ġkey . to Download Update ( test Checksum ) ĊĊĠĠĠĠĠĠĠ Ġdownload Complete Update ĠshouldBe ĠCached Key Info . Download Update ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġdownload Complete Update . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Download Complete Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet ag Ġ= Ġtest Checksum ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` trip Ġchanged Ġtyping `() Ġ{ ĊĠĠĠĠĠĠĠ ĠCached Key Info . Type . LOCATION _ DAY . type Value ĠshouldBe Ġ" country _ day " ĊĠĠĠĠĠĠĠ ĠCached Key Info . Type . LOCATION _ HOUR . type Value ĠshouldBe Ġ" country _ hour " ĊĠĠĠ Ġ} Ċ } Ċ