package Ġkotlin mud . item . service Ċ Ċ import Ġassert k . assertThat Ċ import Ġassert k . assertions . has Size Ċ import Ġassert k . assertions . isEqualTo Ċ import Ġkotlin mud . item . model . Item Ċ import Ġkotlin mud . test . helper . create Test Service Ċ import Ġkotlin mud . test . service . Test Service Ċ import Ġorg . junit . Test Ċ Ċ fun Ġcreate Item ( test : ĠTest Service , Ġamount : ĠInt ): ĠItem Ġ{ ĊĠĠĠ Ġreturn Ġtest . create Item Builder (). also Ġ{ ĊĠĠĠĠĠĠĠ Ġit . decay Timer Ġ= Ġamount ĊĠĠĠ Ġ}. build () Ċ } Ċ Ċ class ĠItem Service Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Item Can Dec ay () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġsetup ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġ= Ġcreate Test Service () ĊĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġcreate Item ( test , Ġamount ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġtest . call Dec ay Event () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( item . decay Timer ). isEqualTo ( amount Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Item Is Removed From Mob Inventory When Dec ay ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġsetup ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġ= Ġcreate Test Service () ĊĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġcreate Item ( test , Ġamount ) ĊĠĠĠĠĠĠĠ Ġval Ġmob Ġ= Ġtest . create Mob () ĊĠĠĠĠĠĠĠ Ġmob . items . add ( item ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġtest . call Dec ay Event () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( item . decay Timer ). isEqualTo ( amount Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( mob . items ). has Size ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Item Is Removed From Room Inventory When Dec ay ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġsetup ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġ= Ġcreate Test Service () ĊĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġcreate Item ( test , Ġamount ) ĊĠĠĠĠĠĠĠ Ġval Ġroom Ġ= Ġtest . getStart Room () ĊĠĠĠĠĠĠĠ Ġroom . items . add ( item ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġtest . call Dec ay Event () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( item . decay Timer ). isEqualTo ( amount Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( room . items ). has Size ( 0 ) ĊĠĠĠ Ġ} Ċ } Ċ