/* - Ċ Ġ* Ġ#% L Ċ Ġ* Ġkotlin Preferences - android Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 Ġ- Ġ 2 0 2 1 ĠFre der ik ĠK am mel Ċ Ġ* Ġ%% Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġcom . github . vat b ub . kotlin . preferences . android Ċ Ċ import Ġcom . github . vat b ub . kotlin . preferences . KeyValue Provider Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ abstract Ġclass ĠKey Value Provider Test < T Ġ: ĠKey Value Provider > Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġnew KeyValue Provider (): ĠT ĊĠĠĠ Ġabstract Ġfun Ġget Clone Of ( key Value Provider : ĠT ): ĠT ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnot Found Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Value Provider Ġ= Ġnew KeyValue Provider () ĊĠĠĠĠĠĠĠ ĠAssertions . assertNull ( key Value Provider [" random Key "]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset AndGet Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Value Provider Ġ= Ġnew KeyValue Provider () ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġ" sample Key 1 " ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" value 1 " ĊĊĠĠĠĠĠĠĠ Ġkey Value Provider [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( value , Ġkey Value Provider [ key ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Null Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Value Provider Ġ= Ġnew KeyValue Provider () ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġ" sample Key 1 " ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" value 1 " ĊĊĠĠĠĠĠĠĠ Ġkey Value Provider [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( value , Ġkey Value Provider [ key ]) ĊĠĠĠĠĠĠĠ Ġkey Value Provider [ key ] Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠAssertions . assertNull ( key Value Provider [ key ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpersistence Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Value Provider 1 Ġ= Ġnew KeyValue Provider () ĊĠĠĠĠĠĠĠ Ġif Ġ(! key Value Provider 1 . is Persistent ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġ" sample Key 2 " ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" value 2 " ĊĠĠĠĠĠĠĠ Ġkey Value Provider 1 [ key ] Ġ= Ġvalue ĊĊĠĠĠĠĠĠĠ Ġval Ġkey Value Provider 2 Ġ= Ġget Clone Of ( key Value Provider 1 ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertNot Same ( key Value Provider 1 , Ġkey Value Provider 2 ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( value , Ġkey Value Provider 2 [ key ]) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSharedPreferences KeyValue Provider Test Ġ: ĠKey Value Provider Test < SharedPreferences KeyValue Provider >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġnew KeyValue Provider () Ġ= ĠSharedPreferences KeyValue Provider ( SharedPreferences Impl ()) ĊĊĠĠĠ Ġoverride Ġfun Ġget Clone Of ( key Value Provider : ĠSharedPreferences KeyValue Provider ) Ġ= ĠSharedPreferences KeyValue Provider ( key Value Provider . shared Preferences ) Ċ Ċ } Ċ