package Ġcom . github . iv an sh af ran . shared preferences mock Ċ Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . lifecycle . Caching Mode Ċ import Ġorg . spe k framework . spe k 2 . style . specification . describe Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠSharedPreferences Put Get Tests Ġ: ĠSpe k ({ ĊĊĠĠĠ Ġval Ġstring Key Ġ= Ġ" string Ġkey " ĊĠĠĠ Ġval Ġstring Value Ġ= Ġ" string Ġvalue " ĊĊĠĠĠ Ġval Ġstring Set Key Ġ= Ġ" string Ġset Ġkey " ĊĠĠĠ Ġval Ġstring SetValue Ġ= Ġset Of (" first ", Ġ" second ", Ġ" third ") ĊĊĠĠĠ Ġval Ġint Key Ġ= Ġ" int Ġkey " ĊĠĠĠ Ġval Ġint Value Ġ= Ġ 4 2 ĊĊĠĠĠ Ġval Ġlong Key Ġ= Ġ" long Ġkey " ĊĠĠĠ Ġval Ġlong Value Ġ= Ġ 4 2 L ĊĊĠĠĠ Ġval Ġfloat Key Ġ= Ġ" float Ġkey " ĊĠĠĠ Ġval Ġfloat Value Ġ= Ġ 4 2 f ĊĊĠĠĠ Ġval Ġboolean Key Ġ= Ġ" boolean Ġkey " ĊĠĠĠ Ġval Ġboolean Value Ġ= Ġtrue ĊĊĠĠĠ Ġfor Ġ( is Thread Safe Ġin ĠlistOf ( false , Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠ Ġdescribe (" shared Ġpreferences Ġmock Ġwith Ġthread Ġsafety : Ġ$ is Thread Safe ") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġby Ġmemoized ( Caching Mode . SCOPE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSP Mock Builder (). set Thread Safe ( is Thread Safe ). create SharedPreferences () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" put Ġvalues Ġfor Ġeach Ġtype Ġvia Ġedit Ġand Ġcommit ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbefore Group Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putString ( string Key , Ġstring Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putString Set ( string Set Key , Ġstring SetValue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Int ( int Key , Ġint Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Long ( long Key , Ġlong Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( float Key , Ġfloat Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Boolean ( boolean Key , Ġboolean Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġcorrect Ġstring Ġby Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( stringValue , Ġshared Preferences . getString ( string Key , Ġ" default ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġcorrect Ġstring Ġset Ġby Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( string SetValue , Ġshared Preferences . getString Set ( string Set Key , Ġset Of ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġcorrect Ġint Ġby Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( intValue , Ġshared Preferences . getInt ( int Key , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġcorrect Ġlong Ġby Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( longValue , Ġshared Preferences . getLong ( long Key , Ġ 0 L )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġcorrect Ġfloat Ġby Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( float Value , Ġshared Preferences . get Float ( float Key , Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġcorrect Ġboolean Ġby Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( boolean Value , Ġshared Preferences . getBoolean ( boolean Key , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġmap Ġwith Ġall Ġvalues ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġshared Preferences . all . size Ġ== Ġ 6 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġcontains Ġput Ġkey ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġshared Preferences . contains ( string Key ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }) Ċ