package Ġnl . ent re co . dart ss core card . base Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġnl . ent re co . dart ss core card . R Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . kotlin . any Ċ import Ġorg . mockito . kotlin . argument Captor Ċ import Ġorg . mockito . kotlin . do Return Ċ import Ġorg . mockito . kotlin . eq Ċ import Ġorg . mockito . kotlin . mock Ċ import Ġorg . mockito . kotlin . verify Ċ import Ġorg . mockito . kotlin . wh enever Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠEnt re co Ġon Ġ 1 0 / 1 2 / 2 0 1 7 . Ċ Ġ*/ Ċ class ĠSty ler Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmock Prefs : ĠSharedPreferences Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġmock Editor : ĠSharedPreferences . Editor Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġmock Activity : ĠActivity Ġ= Ġmock { ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġget SharedPreferences (" Style Prefs ", ĠContext . MODE _ PRIVATE ) Ġ} Ġdo Return Ġmock Prefs ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġsubject : ĠSty ler Ġ= ĠSty ler ( mock Activity ) ĊĠĠĠ Ġprivate Ġval Ġstyle Captor Ġ= Ġargument Captor < String >() ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġ' P DC ' Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . P DC . style ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . P dc , Ġsubject . get ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġ' B DO ' Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . B DO . style ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . B do , Ġsubject . get ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġ' P DC _ 2 0 1 8 ' Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . P DC _ 2 0 1 8 . style ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . P dc _ 2 0 1 8 , Ġsubject . get ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġreturn Ġ' B DO _ 2 0 1 8 ' Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . B DO _ 2 0 1 8 . style ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . B do _ 2 0 1 8 , Ġsubject . get ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġswap Ġto ĠP DC _ 2 0 1 8 Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . B DO . style ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Style Ġ= Ġwhen Sw apping () ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . P dc _ 2 0 1 8 , Ġactual Style ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġswap Ġto ĠB DO _ 2 0 1 8 Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . P DC _ 2 0 1 8 . style ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Style Ġ= Ġwhen Sw apping () ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . B do _ 2 0 1 8 , Ġactual Style ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġswap Ġto ĠP CF Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . B DO _ 2 0 1 8 . style ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Style Ġ= Ġwhen Sw apping () ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . P cf , Ġactual Style ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġswap Ġto ĠP DC Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . PC F . style ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Style Ġ= Ġwhen Sw apping () ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . P dc , Ġactual Style ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġswap Ġto ĠB DO Ġstyle `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Style ( St y ler . Style . P DC . style ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Style Ġ= Ġwhen Sw apping () ĊĠĠĠĠĠĠĠ ĠassertEquals ( R . style . B do , Ġactual Style ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgiven Style ( style : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Prefs . getString (" current Style ", ĠSty ler . Style . P DC _ 2 0 1 8 . style )). thenReturn ( style ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwhen Sw apping (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Prefs . edit ()). thenReturn ( mock Editor ) ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Editor . putString ( eq (" current Style "), Ġany ())). thenReturn ( mock Editor ) ĊĊĠĠĠĠĠĠĠ Ġsubject . switch () ĊĠĠĠĠĠĠĠ Ġverify ( mock Editor ). putString ( eq (" current Style "), Ġstyle Captor . capture ()) ĊĠĠĠĠĠĠĠ Ġgiven Style ( style Captor . last Value ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Activity ). re create () ĊĠĠĠĠĠĠĠ Ġreturn Ġsubject . get () ĊĠĠĠ Ġ} Ċ Ċ }