/** Ċ Ġ* Ġ" Common s ĠClause " ĠLicense ĠCondition Ġv 1 . 0 Ċ Ġ* Ċ Ġ* ĠThe ĠSoftware Ġis Ġprovided Ġto Ġyou Ġby Ġthe ĠLic ensor Ġunder Ġthe ĠLicense , Ġas Ġdefined Ċ Ġ* Ġbelow , Ġsubject Ġto Ġthe Ġfollowing Ġcondition . Ċ Ġ* Ċ Ġ* ĠWithout Ġlimiting Ġother Ġconditions Ġin Ġthe ĠLicense , Ġthe Ġgrant Ġof Ġrights Ġunder Ġthe Ċ Ġ* ĠLicense Ġwill Ġnot Ġinclude , Ġand Ġthe ĠLicense Ġdoes Ġnot Ġgrant Ġto Ġyou , Ġthe Ġright Ġto Ċ Ġ* ĠS ell Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠFor Ġpurposes Ġof Ġthe Ġfore going , ĠâĢľ Sell âĢĿ Ġmeans Ġpract icing Ġany Ġor Ġall Ġof Ġthe Ġrights Ċ Ġ* Ġgranted Ġto Ġyou Ġunder Ġthe ĠLicense Ġto Ġprovide Ġto Ġthird Ġparties , Ġfor Ġa Ġfee Ġor Ċ Ġ* Ġother Ġconsideration Ġ( including Ġwithout Ġlimitation Ġfees Ġfor Ġhosting Ġor Ċ Ġ* Ġconsult ing / Ġsupport Ġservices Ġrelated Ġto Ġthe ĠSoftware ), Ġa Ġproduct Ġor Ġservice Ċ Ġ* Ġwhose Ġvalue Ġder ives , Ġentirely Ġor Ġsubstant ially , Ġfrom Ġthe Ġfunctionality Ġof Ġthe Ċ Ġ* ĠSoftware . ĠAny Ġlicense Ġnotice Ġor Ġat tribution Ġrequired Ġby Ġthe ĠLicense Ġmust Ġalso Ċ Ġ* Ġinclude Ġthis ĠCommons ĠClause ĠLicense ĠCondition Ġnotice . Ċ Ġ* Ċ Ġ* ĠSoftware : ĠInf init ic Ċ Ġ* Ċ Ġ* ĠLicense : ĠMIT ĠLicense Ġ( https :// opensource . org / licenses / MIT ) Ċ Ġ* Ċ Ġ* ĠLic ensor : Ġinf init ic . io Ċ Ġ*/ Ċ Ċ package Ġio . inf init ic . cache . caffe ine Ċ Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ Ċ class ĠC affe ine Key Set Cache Tests Ġ: ĠString Spec ({ ĊĊĠĠĠ Ġval Ġstorage Ġ= ĠC affe ine Key Set Cache ( C affe ine ()) ĊĊĠĠĠ Ġbefore Test Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . set (" key ", Ġset Of (" foo ". toByteArray (), Ġ" bar ". toByteArray ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġafter Test Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . flush () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" get Ġshould Ġreturn Ġnull Ġon Ġunknown Ġkey " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . get (" unknown ") ĠshouldBe Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" get Ġshould Ġreturn Ġvalue " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġstorage . get (" key ") !! ĊĠĠĠĠĠĠĠ Ġset . map Ġ{ ĠString ( it ) Ġ}. toSet () ĠshouldBe Ġset Of (" foo ", Ġ" bar ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" add Ġon Ġnew Ġkey Ġshould Ġstay Ġnull " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . add (" foo 2 ", Ġ" bar 2 ". toByteArray ()) ĊĊĠĠĠĠĠĠĠ Ġstorage . get (" foo 2 ") ĠshouldBe Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" add Ġon Ġexisting Ġkey Ġshould Ġupdate Ġvalue " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . add (" key ", Ġ" bar 2 ". toByteArray ()) ĊĊĠĠĠĠĠĠĠ Ġstorage . get (" key ") !!. map Ġ{ ĠString ( it ) Ġ}. toSet () ĠshouldBe Ġset Of (" foo ", Ġ" bar ", Ġ" bar 2 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" remove Ġon Ġunknown Ġkey Ġdoes Ġnothing " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . remove (" unknown ", Ġ" foo ". toByteArray ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" remove Ġshould Ġremove Ġvalue " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . remove (" key ", Ġ" foo ". toByteArray ()) ĊĊĠĠĠĠĠĠĠ Ġstorage . get (" key ") !!. map Ġ{ ĠString ( it ) Ġ}. toSet () ĠshouldBe Ġset Of (" bar ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" remove Ġshould Ġdo Ġnothing Ġif Ġnot Ġon Ġset " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . remove (" key ", Ġ" unknown ". toByteArray ()) ĊĊĠĠĠĠĠĠĠ Ġstorage . get (" key ") !!. map Ġ{ ĠString ( it ) Ġ}. toSet () ĠshouldBe Ġset Of (" foo ", Ġ" bar ") ĊĠĠĠ Ġ} Ċ }) Ċ