package Ġcom . m del bel . android . ped idos ya . gateway . location Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . m del bel . android . ped idos ya . domain . Point Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġorg . junit . Test Ċ Ċ class ĠUser Location Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` save Ġshould Ġsave Ġuser Ġlocation Ġon Ġpreference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpreferences Editor Ġ= Ġmock < SharedPreferences . Editor >() ĊĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= Ġmock < SharedPreferences > Ġ{ Ġon Ġ{ Ġedit () Ġ} Ġdo Return Ġpreferences Editor Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpoint Ġ= Ġmock < Point > Ġ{ Ġon Ġ{ Ġas String () Ġ} Ġdo Return Ġ"- 3 4 . 8 8 9 5 ,- 5 6 . 1 9 0 7 " Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠUser Location Repository ( preferences ) ĊĊĠĠĠĠĠĠĠ Ġrepository . save ( point ) ĊĊĠĠĠĠĠĠĠ Ġverify ( preferences ). edit () ĊĠĠĠĠĠĠĠ Ġverify ( preferences Editor ). putString (" USER _ POINT ", Ġ"- 3 4 . 8 8 9 5 ,- 5 6 . 1 9 0 7 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` obtain Last Known Ġwith Ġunknown Ġlocation Ġshould Ġreturn Ġdefault `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= Ġmock < SharedPreferences > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ ĠgetString (" USER _ POINT ", Ġ"") Ġ} Ġdo Return Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdefault Ġ= Ġmock < Point >() ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠUser Location Repository ( preferences ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . obtain Last Known ( default ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( result ). isEqualTo ( default ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` obtain Last Known Ġwith Ġknown Ġlocation Ġshould Ġreturn Ġit `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠPoint ( latitude Ġ= Ġ- 3 4 . 8 8 9 5 , Ġlongitude Ġ= Ġ- 5 6 . 1 9 0 7 ) ĊĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= Ġmock < SharedPreferences > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ ĠgetString (" USER _ POINT ", Ġ"") Ġ} Ġdo Return Ġ"- 3 4 . 8 8 9 5 ,- 5 6 . 1 9 0 7 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠUser Location Repository ( preferences ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrepository . obtain Last Known ( mock ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( result ). isEqualTo ( expected ) ĊĠĠĠ Ġ} Ċ }