package Ġdev . paul shields . a oc . common Ċ Ċ import Ġassert k . assertThat Ċ import Ġassert k . assertions . isEqualTo Ċ import Ġdev . paul shields . a oc . test common . parameter ized Test Ċ import Ġdev . paul shields . a oc . test common . run Test Ċ import Ġorg . junit . jupiter . api . Test Factory Ċ Ċ class ĠMap UtilsTest Ġ{ ĊĠĠĠ Ġprivate Ġval Ġkey Ġ= Ġ" key " ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġadd Ġto Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠ ĠTrip le ( 1 , Ġ 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 5 , Ġ 5 , Ġ 1 0 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 4 0 , Ġ 1 1 , Ġ 5 1 ), ĊĠĠĠĠĠĠĠ ĠTrip le (- 1 , Ġ 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 0 , Ġ 5 0 , Ġ 5 0 )) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġaddition , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . addTo Value ( key , Ġaddition ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġadd Ġlong Ġto Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠ ĠTrip le ( 1 L , Ġ 2 L , Ġ 3 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 5 L , Ġ 5 L , Ġ 1 0 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 4 0 L , Ġ 1 1 L , Ġ 5 1 L ), ĊĠĠĠĠĠĠĠ ĠTrip le (- 1 L , Ġ 1 L , Ġ 0 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 0 L , Ġ 5 0 L , Ġ 5 0 L )) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġaddition , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . addTo Value ( key , Ġaddition ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġsubtract Ġfrom Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠ ĠTrip le ( 3 , Ġ 2 , Ġ 1 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 1 0 , Ġ 5 , Ġ 5 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 5 1 , Ġ 1 1 , Ġ 4 0 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 0 , Ġ 1 , Ġ- 1 ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 5 0 , Ġ 5 0 , Ġ 0 )) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġaddition , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . subtract From Value ( key , Ġaddition ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġsubtract Ġlong Ġfrom Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠ ĠTrip le ( 3 L , Ġ 2 L , Ġ 1 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 1 0 L , Ġ 5 L , Ġ 5 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 5 1 L , Ġ 1 1 L , Ġ 4 0 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 0 L , Ġ 1 L , Ġ- 1 L ), ĊĠĠĠĠĠĠĠ ĠTrip le ( 5 0 L , Ġ 5 0 L , Ġ 0 L )) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġaddition , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . subtract From Value ( key , Ġaddition ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġincrement Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠĠ 1 Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠ 1 0 Ġto Ġ 1 1 , ĊĠĠĠĠĠĠĠĠ 5 0 Ġto Ġ 5 1 , ĊĠĠĠĠĠĠĠ Ġ- 1 Ġto Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ- 1 0 0 Ġto Ġ- 9 9 ) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . increment Value ( key ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġincrement Ġlong Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠĠ 1 L Ġto Ġ 2 L , ĊĠĠĠĠĠĠĠĠ 1 0 L Ġto Ġ 1 1 L , ĊĠĠĠĠĠĠĠĠ 5 0 L Ġto Ġ 5 1 L , ĊĠĠĠĠĠĠĠ Ġ- 1 L Ġto Ġ 0 L , ĊĠĠĠĠĠĠĠ Ġ- 1 0 0 L Ġto Ġ- 9 9 L ) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . increment Value ( key ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġdecrement Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠĠ 2 Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠ 1 1 Ġto Ġ 1 0 , ĊĠĠĠĠĠĠĠĠ 5 1 Ġto Ġ 5 0 , ĊĠĠĠĠĠĠĠĠ 0 Ġto Ġ- 1 , ĊĠĠĠĠĠĠĠ Ġ- 9 9 Ġto Ġ- 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . decrement Value ( key ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` should Ġdecrement Ġlong Ġvalue Ġin Ġmap `() Ġ= Ġparameter ized Test ( ĊĠĠĠĠĠĠĠĠ 2 L Ġto Ġ 1 L , ĊĠĠĠĠĠĠĠĠ 1 1 L Ġto Ġ 1 0 L , ĊĠĠĠĠĠĠĠĠ 5 1 L Ġto Ġ 5 0 L , ĊĠĠĠĠĠĠĠĠ 0 L Ġto Ġ- 1 L , ĊĠĠĠĠĠĠĠ Ġ- 9 9 L Ġto Ġ- 1 0 0 L ) ĊĠĠĠĠĠĠĠ Ġ. run Test Ġ{ Ġ( initial , Ġresult ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmutable Map Of ( key Ġto Ġinitial ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . decrement Value ( key ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( target [ key ]). isEqualTo ( result ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ