package Ġpl . sr w . bill calculator . data . settings . prices Ċ Ċ import Ġcom . n ha ar man . mockito _ kotlin . do Return Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mockito Ċ import Ġpl . sr w . bill calculator . settings . prices . P ge Prices Ċ import Ġpl . sr w . bill calculator . settings . prices . P gn ig Prices Ċ import Ġpl . sr w . bill calculator . settings . prices . T aur on Prices Ċ import Ġpl . sr w . bill calculator . type . Provider Ċ import Ġpl . sr w . bill calculator . util . Provider Mapper Ċ Ċ class ĠPr ices Bridge Test Ġ{ ĊĊĠĠĠ Ġval Ġp ge Prices : ĠP ge Prices Ġ= Ġmock ( default Answer Ġ= ĠMockito . RET URNS _ MOCK S ) ĊĠĠĠ Ġval Ġt aur on Prices : ĠT aur on Prices Ġ= Ġmock ( default Answer Ġ= ĠMockito . RET URNS _ MOCK S ) ĊĠĠĠ Ġval Ġp gn ig Prices : ĠP gn ig Prices Ġ= Ġmock ( default Answer Ġ= ĠMockito . RET URNS _ MOCK S ) ĊĠĠĠ Ġval Ġprovider Mapper : ĠProvider Mapper Ġ= Ġmock Ġ{ ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġget Prefs Prices ( Provider . P GE ) Ġ} Ġdo Return Ġp ge Prices ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġget Prefs Prices ( Provider . PG N IG ) Ġ} Ġdo Return Ġp gn ig Prices ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġget Prefs Prices ( Provider . TA UR ON ) Ġ} Ġdo Return Ġt aur on Prices ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġsut Ġ= ĠPr ices Bridge ( provider Mapper ) ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` returns ĠP GE Ġtar iff Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( p ge Prices . tar iff ). thenReturn ( Energy Tar iff . G 1 2 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . P GE )). thenReturn ( p ge Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . get Tar iff ( Provider . P GE ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Energy Tar iff . G 1 2 , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` returns ĠTA UR ON Ġtar iff Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( ta uron Prices . tar iff ). thenReturn ( Energy Tar iff . G 1 1 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . TA UR ON )). thenReturn ( ta uron Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . get Tar iff ( Provider . TA UR ON ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Energy Tar iff . G 1 1 , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` return ĠP GN IG Ġprices Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp ali wo Price Ġ= Ġ" 1 . 2 3 " ĊĠĠĠĠĠĠĠ Ġval Ġd yst St ala Price Ġ= Ġ" 3 . 2 1 " ĊĠĠĠĠĠĠĠ Ġwhenever ( p gn ig Prices . p ali wo G az owe ). thenReturn ( p ali wo Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( p gn ig Prices . dy stry bu cy j na St ala ). thenReturn ( d yst St ala Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . PG N IG )). thenReturn ( p gn ig Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . getItems For P gn ig () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( p ali wo Price , Ġresult [ PG N IG . P ALI WO _ GA Z ] !!. value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( d yst St ala Price , Ġresult [ PG N IG . DY STR _ ST AL A ] !!. value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` returns ĠP GE ĠG 1 1 Ġprices Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ energ ia Price Ġ= Ġ" 1 . 1 1 " ĊĠĠĠĠĠĠĠ Ġval Ġab on ament Price Ġ= Ġ" 2 . 3 3 " ĊĠĠĠĠĠĠĠ Ġwhenever ( p ge Prices . za En erg ie C zyn na ). thenReturn ( energ ia Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( p ge Prices . op l ata Ab on ament owa ). thenReturn ( ab on ament Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . P GE )). thenReturn ( p ge Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . getItems For P ge G 1 1 () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( energ ia Price , Ġresult [ P GE . ENER G IA ] !!. value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ab on ament Price , Ġresult [ P GE . AB ON AM ENTO WA ] !!. value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` returns ĠP GE ĠG 1 2 Ġprices Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ energ ia Dz ien Price Ġ= Ġ" 1 . 1 2 " ĊĠĠĠĠĠĠĠ Ġval Ġo ze Price Ġ= Ġ" 2 . 2 3 " ĊĠĠĠĠĠĠĠ Ġwhenever ( p ge Prices . za En erg ie C zyn na Dz ien ). thenReturn ( energ ia Dz ien Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( p ge Prices . op l ata O ze ). thenReturn ( o ze Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . P GE )). thenReturn ( p ge Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . getItems For P ge G 1 2 () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( energ ia Dz ien Price , Ġresult [ P GE . ENER G IA _ DZ I EN ] !!. value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( o ze Price , Ġresult [ P GE . O ZE ] !!. value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` returns ĠTA UR ON ĠG 1 1 Ġprices Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprze j sci owa Price Ġ= Ġ" 4 . 1 1 " ĊĠĠĠĠĠĠĠ Ġval Ġdy str Z mi enna Price Ġ= Ġ" 2 . 3 4 3 " ĊĠĠĠĠĠĠĠ Ġwhenever ( ta uron Prices . op l ata Pr ze j sci owa ). thenReturn ( pr ze j sci owa Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( ta uron Prices . op l ata Dy stry bu cy j na Z mi enna ). thenReturn ( dy str Z mi enna Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . TA UR ON )). thenReturn ( ta uron Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . getItems For T aur on G 1 1 () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( pr ze j sci owa Price , Ġresult [ TA UR ON . PR ZE J SC IO WA ] !!. value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( dy str Z mi enna Price , Ġresult [ TA UR ON . DY ST _ Z MI EN NA ] !!. value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` returns ĠTA UR ON ĠG 1 2 Ġprices Ġfrom Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ energ ia N oc Price Ġ= Ġ" 1 . 1 7 1 " ĊĠĠĠĠĠĠĠ Ġval Ġab on ament owa Price Ġ= Ġ" 7 . 3 3 " ĊĠĠĠĠĠĠĠ Ġwhenever ( ta uron Prices . energ ia Ele k try cz na C zyn na N oc ). thenReturn ( energ ia N oc Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( ta uron Prices . op l ata Ab on ament owa ). thenReturn ( ab on ament owa Price ) ĊĠĠĠĠĠĠĠ Ġwhenever ( provider Mapper . get Prefs Prices ( Provider . TA UR ON )). thenReturn ( ta uron Prices ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsut . getItems For T aur on G 1 2 () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( energ ia N oc Price , Ġresult [ TA UR ON . ENER G IA _ NOC ] !!. value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ab on ament owa Price , Ġresult [ TA UR ON . AB ON AM ENTO WA ] !!. value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` update ĠP GN IG Ġby Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" 1 . 2 " ĊĊĠĠĠĠĠĠĠ Ġsut . update P gn ig ( PG N IG . W SP _ K ON W , Ġvalue , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġverify ( p gn ig Prices ). wsp ol cz yn nik Kon wers ji Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` update ĠP GE Ġby Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" 1 . 2 " ĊĊĠĠĠĠĠĠĠ Ġsut . update P ge ( P GE . SI EC IO WA , Ġvalue , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġverify ( p ge Prices ). op l ata Si eci owa Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` update ĠTA UR ON Ġby Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" 1 . 2 " ĊĊĠĠĠĠĠĠĠ Ġsut . update T aur on ( TA UR ON . DY ST _ ST AL A , Ġvalue , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġverify ( ta uron Prices ). op l ata Dy stry bu cy j na St ala Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` update ĠP GN IG Ġo pl ata Ġhand low a Ġby Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" 1 . 2 " ĊĠĠĠĠĠĠĠ Ġval Ġenabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġsut . update P gn ig ( PG N IG . HAND LOW A , Ġvalue , Ġenabled ) ĊĊĠĠĠĠĠĠĠ Ġverify ( p gn ig Prices ). op l ata Hand low a Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġverify ( p gn ig Prices ). enabled O pl ata Hand low a Ġ= Ġenabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` update ĠP GE Ġo pl ata Ġhand low a Ġby Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" 1 . 2 " ĊĠĠĠĠĠĠĠ Ġval Ġenabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġsut . update P ge ( P GE . HAND LOW A , Ġvalue , Ġenabled ) ĊĊĠĠĠĠĠĠĠ Ġverify ( p ge Prices ). op l ata Hand low a Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġverify ( p ge Prices ). enabled O pl ata Hand low a Ġ= Ġenabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` update ĠTA UR ON Ġo pl ata Ġhand low a Ġby Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ" 1 . 2 " ĊĠĠĠĠĠĠĠ Ġval Ġenabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġsut . update T aur on ( TA UR ON . HAND LOW A , Ġvalue , Ġenabled ) ĊĊĠĠĠĠĠĠĠ Ġverify ( ta uron Prices ). op l ata Hand low a Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġverify ( ta uron Prices ). enabled O pl ata Hand low a Ġ= Ġenabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` set Ġdefaults Ġfor ĠP GE Ġto Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġsut . set Defaults ( Provider . P GE ) ĊĊĠĠĠĠĠĠĠ Ġverify ( p ge Prices ). setDefault () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` set Ġdefaults Ġfor ĠP GN IG Ġto Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġsut . set Defaults ( Provider . PG N IG ) ĊĊĠĠĠĠĠĠĠ Ġverify ( p gn ig Prices ). setDefault () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` set Ġdefaults Ġfor ĠTA UR ON Ġto Ġshared Ġprefs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġsut . set Defaults ( Provider . TA UR ON ) ĊĊĠĠĠĠĠĠĠ Ġverify ( ta uron Prices ). setDefault () ĊĠĠĠ Ġ} Ċ } Ċ