package Ġcom . andro ide ss ence . cash caret aker . ui . transaction list Ċ Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġcom . andro ide ss ence . cash caret aker . core . models . Account Ċ import Ġcom . andro ide ss ence . cash caret aker . database . CC Database Ċ import Ġcom . andro ide ss ence . cash caret aker . ui . main . MainActivity Ċ import Ġcom . andro ide ss ence . cash caret aker . ui . main . Main Controller Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . k oin . core . component . K oin Api Extension Ċ import Ġorg . k oin . core . component . K oin Component Ċ import Ġorg . k oin . core . component . get Ċ Ċ @ K oin Api Extension Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠTransaction List Fragment Test Ġ: ĠK oin Component Ġ{ ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġvar Ġactivity Test Rule Ġ= ĠActivity Test Rule ( MainActivity :: class . java ) ĊĊĠĠĠ Ġprivate Ġval Ġdatabase : ĠCC Database Ġ= Ġget () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . delete All Accounts () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . insert Account ( TEST _ ACCOUNT . to Persist able Account ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Test Rule . activity Ġas ĠMain Controller ). show Transactions ( TEST _ ACCOUNT _ NAME ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . delete All Accounts () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Ignore (" Not Ġsure Ġwhy Ġthis Ġis Ġfailing , Ġprobably Ġneed Ġto Ġrewrite Ġit .") ĊĠĠĠ Ġfun Ġtest Insert Withdraw al () Ġ{ ĊĠĠĠĠĠĠĠ ĠTransaction Robot () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click New () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Withdraw al Switch State ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Description ( TEST _ TRANSACTION _ DESCRIPTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Amount ( TEST _ TRANSACTION _ AMOUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. submit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert List Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Transaction Description At Position ( TEST _ TRANSACTION _ DESCRIPTION , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Transaction Amount At Position ( TEST _ TRANSACTION _ CUR RE NCY , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Ignore (" Not Ġsure Ġwhy Ġthis Ġis Ġfailing , Ġprobably Ġneed Ġto Ġrewrite Ġit .") ĊĠĠĠ Ġfun Ġtest Insert Deposit () Ġ{ ĊĠĠĠĠĠĠĠ ĠTransaction Robot () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click New () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Withdraw al Switch ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Withdraw al Switch State ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Description ( TEST _ TRANSACTION _ DESCRIPTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Amount ( TEST _ TRANSACTION _ AMOUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. submit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert List Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Transaction Description At Position ( TEST _ TRANSACTION _ DESCRIPTION , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Transaction Amount At Position ( TEST _ TRANSACTION _ CUR RE NCY , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Ignore ( ĊĠĠĠĠĠĠĠ Ġ" The Ġassertion Ġfor Ġan Ġempty Ġlist Ġalways Ġfails Ġeven Ġthough ĠI Ġtested Ġmanually . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Prob ably Ġa Ġresult Ġof Ġbinding Ġnot Ġbeing Ġfast Ġenough ?" ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdelete Transaction () Ġ{ ĊĠĠĠĠĠĠĠ ĠTransaction Robot () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click New () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Withdraw al Switch State ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Description ( TEST _ TRANSACTION _ DESCRIPTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Amount ( TEST _ TRANSACTION _ AMOUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. submit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert List Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Transaction Description At Position ( TEST _ TRANSACTION _ DESCRIPTION , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Transaction Amount At Position ( TEST _ TRANSACTION _ CUR RE NCY , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. long Click ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. delete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert List Count ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTEST _ ACCOUNT _ NAME Ġ= Ġ" Checking " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTEST _ ACCOUNT _ BAL ANCE Ġ= Ġ" 1 0 0 " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTEST _ ACCOUNT Ġ= ĠAccount ( TEST _ ACCOUNT _ NAME , ĠTEST _ ACCOUNT _ BAL ANCE . toDouble ()) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTEST _ TRANSACTION _ DESCRIPTION Ġ= Ġ" Speed way " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTEST _ TRANSACTION _ AMOUNT Ġ= Ġ" 5 . 4 5 " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTEST _ TRANSACTION _ CUR RE NCY Ġ= Ġ"$ 5 . 4 5 " ĊĠĠĠ Ġ} Ċ } Ċ