package Ġpl . m ich ol Ċ Ċ import Ġorg . junit . Assert Ċ import Ġpl . m ich ol . cache . impl . Simple Cache Impl Ċ import Ġkotlin . test . Test Ċ Ċ class ĠSimple Cache Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinitialization Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠSimple Cache Impl < Integer , ĠString >( 1 0 , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , cache . size ()) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 0 , Ġcache . time To Live ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmax Entries Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠSimple Cache Impl < Int , ĠString >( 1 0 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 1 , Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 2 ," 2 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 2 , Ġcache . size ()) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 3 ," 3 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 2 , Ġcache . size ()) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 4 ," 4 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 2 , Ġcache . size ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġremove Ol dest Without Getting Values Entries Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠSimple Cache Impl < Int , ĠString >( 1 0 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 1 , Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 2 ," 2 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 1 , Ġ 2 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 3 ," 3 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 2 , Ġ 3 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 4 ," 4 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 3 , Ġ 4 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġremove Ol dest With Getting Values Entries Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠSimple Cache Impl < Int , ĠString >( 1 0 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 1 , Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 2 ," 2 ") ĊĠĠĠĠĠĠĠ Ġcache . getCache Entry ( 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 2 , Ġ 1 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 3 ," 3 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 1 , Ġ 3 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠĠĠĠĠ Ġcache . getCache Entry ( 1 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 4 ," 4 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 1 , Ġ 4 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġremove Cache Entry Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠSimple Cache Impl < Int , ĠString >( 1 0 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 1 , Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 2 ," 2 ") ĊĠĠĠĠĠĠĠ Ġcache . remove Cache Entry ( 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 2 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 3 ," 3 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 2 , Ġ 3 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠĠĠĠĠ Ġcache . remove Cache Entry ( 3 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 4 ," 4 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ("[ 2 , Ġ 4 ]", Ġcache . getCache (). keys . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġclean Cache Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠSimple Cache Impl < Int , ĠString >( 1 0 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 1 , Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġcache . put Cache Entry ( 2 ," 2 ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 2 , Ġcache . size ()) ĊĠĠĠĠĠĠĠ Ġcache . clean Cache () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġcache . size ()) ĊĠĠĠ Ġ} Ċ } Ċ