package Ġcom . de po za . util . time period Ċ Ċ import Ġcom . de po za . util . time period . Base Period . YEAR _ PERIOD Ċ import Ġorg . hamcrest . Core Matchers .` is ` Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Method Source Ċ import Ġjava . util . stream . Int Stream Ċ Ċ class ĠYear Period Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcur Period Ġ= ĠYear Period ( 1 , Ġ 0 ) ĊĠĠĠ Ġprivate Ġval Ġprevious Period Ġ= ĠYear Period ( 1 , Ġ- 1 ) ĊĠĠĠ Ġprivate Ġval Ġnext Period Ġ= ĠYear Period ( 1 , Ġ 1 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠshouldBe OfMonth Type () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( cur Period . type , Ġ` is `( YEAR _ PERIOD )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Method Source (" lower Bound Values ") ĊĠĠĠ Ġfun Ġconstruct sWith Allowed Lower Bounds ( lower Bound : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠYear Period ( lower Bound , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġthrows On Lower Bound LessThan Allow able () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssertions . assert Throws ( IllegalArgumentException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠYear Period ( 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġthrows On Lower Bound GreaterThan Allow able () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssertions . assert Throws ( IllegalArgumentException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠYear Period ( 1 3 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġprevious Returns New Instance () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( previous Period , Ġcur Period . previous ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnext Returns New Instance () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( next Period , Ġcur Period . next ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġlower Bound Values () Ġ= ĠInt Stream . range ( 1 , Ġ 1 3 ) ĊĠĠĠ Ġ} Ċ }