package Ġcom . gil ded rose Ċ Ċ import Ġcom . gil ded rose . item . repository . Item Repository Ċ import Ġcom . gil ded rose . item . repository . ItemType Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠSul f uras Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġg il ded R ose : ĠG il ded R ose ĊĠĠĠ Ġlateinit Ġvar Ġtest Item : ĠItem Adapter ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Item Ġ= ĠItem Repository (). produce Item Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Type Ġ= ĠItem Type . S UL F UR AS _ HAND _ OF _ R AG N AR OS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsell In Ġ= ĠS ELL _ IN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquality Ġ= ĠQ UAL ITY ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġg il ded R ose Ġ= ĠG il ded R ose ( array Of ( test Item )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen _ update Quality _ Then _ Sell In _ Is _ Not _ Changing () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Item . sell In Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġg il ded R ose . update Quality () // should Ġnot Ġchange ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġtest Item . sell In ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen _ update Quality _ Then _ Quality _ Is _ Not _ Changing () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Item . quality Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġg il ded R ose . update Quality () // should Ġnot Ġchange ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġtest Item . quality ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen _ update Quality _ Above _ Allowed _ Level _ Then _ Quality _ Is _ Not _ Changing () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Item . quality Ġ= Ġ 8 0 ĊĠĠĠĠĠĠĠ Ġg il ded R ose . update Quality () // should Ġnot Ġchange ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 0 , Ġtest Item . quality ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen _ update Quality _ After _ Sell In _ Then _ Quality _ Is _ Not _ Changing () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Item . sell In Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġg il ded R ose . update Quality () ĊĠĠĠĠĠĠĠ ĠassertEquals ( QUAL ITY , Ġtest Item . quality ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen _ update Quality _ After _ Sell In _ And _ Quality _ Above _ Allowed _ Level _ Then _ Quality _ Is _ Not _ Changing () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Item . quality Ġ= Ġ 8 0 ĊĠĠĠĠĠĠĠ Ġtest Item . sell In Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġg il ded R ose . update Quality () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 0 , Ġtest Item . quality ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS ELL _ IN Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠQ UAL ITY Ġ= Ġ 1 0 ĊĠĠĠ Ġ} Ċ }