/** Ċ Ġ* Ġ" 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 . storage . redis Ċ Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġredis . embedded . Redis Server Ċ Ċ class ĠRedis Key Counter Storage Tests Ġ: ĠString Spec ({ ĊĊĠĠĠ Ġval Ġredis Server Ġ= ĠRedis Server ( 6 3 8 0 ) ĊĠĠĠ Ġval Ġstorage Ġ= ĠRedis Key Counter Storage . of ( Redis (" localhost ", Ġ 6 3 8 0 )) ĊĊĠĠĠ Ġbefore Spec Ġ{ ĊĠĠĠĠĠĠĠ Ġredis Server . start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġafter Spec Ġ{ ĊĠĠĠĠĠĠĠ Ġredis Server . stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbefore Test Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . incr (" foo ", Ġ 4 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġafter Test Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . flush () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" get Counter Ġshould Ġreturn Ġ 0 Ġon Ġunknown Ġkey " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . get (" unknown ") ĠshouldBe Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" get Counter Ġshould Ġreturn Ġvalue Ġon Ġknown Ġkey " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . get (" foo ") ĠshouldBe Ġ 4 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" incr Counter Ġon Ġunknown Ġkey Ġshould Ġincr Ġvalue Ġfrom Ġ 0 " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . incr (" unknown ", Ġ 4 2 ) ĊĊĠĠĠĠĠĠĠ Ġstorage . get (" unknown ") ĠshouldBe Ġ 4 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" incr Counter Ġon Ġknown Ġkey Ġshould Ġincr Ġvalue Ġfrom Ġcurrent " Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . incr (" foo ", Ġ- 7 ) ĊĊĠĠĠĠĠĠĠ Ġstorage . get (" foo ") ĠshouldBe Ġ 3 5 ĊĠĠĠ Ġ} Ċ }) Ċ