package Ġcom . ba eld ung . kotlin . dates čĊč Ċ import Ġorg . assertj . core . api . Assertions . assertThat č Ċ import Ġorg . junit . jupiter . api . Test č Ċ import Ġjava . time . LocalDate č Ċ import Ġjava . time . Period čĊč Ċ class ĠPeriod Date UnitTest Ġ{ čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġgiven Y MD _ then Create Period () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġperiod Ġ= ĠPeriod . of ( 1 , Ġ 2 , Ġ 3 ) čĊčĊĠĠĠĠĠĠĠ ĠassertThat ( period . toString ()). isEqualTo (" P 1 Y 2 M 3 D ") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġgiven Period _ when Add _ then ModifiedDate () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġperiod Ġ= ĠPeriod . of ( 1 , Ġ 2 , Ġ 3 ) čĊčĊĠĠĠĠĠĠĠ Ġvar Ġdate Ġ= ĠLocalDate . of ( 2 0 1 8 , Ġ 6 , Ġ 2 5 ) čĊĠĠĠĠĠĠĠ Ġvar Ġmodified Date Ġ= Ġdate . plus ( period ) čĊčĊĠĠĠĠĠĠĠ ĠassertThat ( modified Date ). isEqualTo (" 2 0 1 9 - 0 8 - 2 8 ") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġgiven Period _ when Subtract ed _ then ModifiedDate () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġperiod Ġ= ĠPeriod . of ( 1 , Ġ 2 , Ġ 3 ) čĊčĊĠĠĠĠĠĠĠ Ġvar Ġdate Ġ= ĠLocalDate . of ( 2 0 1 8 , Ġ 6 , Ġ 2 5 ) čĊĠĠĠĠĠĠĠ Ġvar Ġmodified Date Ġ= Ġdate . minus ( period ) čĊčĊĠĠĠĠĠĠĠ ĠassertThat ( modified Date ). isEqualTo (" 2 0 1 7 - 0 4 - 2 2 ") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġgiven Two Date _ when Using Between _ then Diff Of Dates () Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġvar Ġdate 1 Ġ= ĠLocalDate . parse (" 2 0 1 8 - 0 6 - 2 5 ") čĊĠĠĠĠĠĠĠ Ġvar Ġdate 2 Ġ= ĠLocalDate . parse (" 2 0 1 8 - 1 2 - 2 5 ") čĊčĊĠĠĠĠĠĠĠ Ġvar Ġperiod Ġ= ĠPeriod . between ( date 1 , Ġdate 2 ) čĊčĊĠĠĠĠĠĠĠ ĠassertThat ( period . toString ()). isEqualTo (" P 6 M ") čĊĠĠĠ Ġ} čĊč Ċ }