package Ġcom . the _ seto x . domain . app Ċ Ċ import Ġcom . the _ seto x . domain . Base UseCase Test Ċ import Ġcom . the _ seto x . domain . Notes Repository Ċ import Ġio . mock k . every Ċ import Ġio . mock k . verify All Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertNull Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Before ĊĊ Ċ /** Ċ Ġ* ĠUnit Ġtest Ġfor Ġ[ Add Notes UseCase ]. Ċ Ġ*/ Ċ class ĠAdd Notes UseCase Test : ĠBase UseCase Test () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġadd Notes UseCase : ĠAdd Notes UseCase ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitialize Ġ[ Add Notes UseCase ] Ġusing Ġthe Ġstub Ġof Ġ[ Notes Repository ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Notes UseCase Ġ= ĠAdd Notes UseCase ( repository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVerify Ġif Ġadd Notes Ġcan Ġadd Ġthe Ġnotes Ġsuccessfully . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠPre - condition : ĊĠĠĠĠ Ġ* Ġ- ĠReturn Ġa ĠSuccess ĠMessage Ġfrom Ġ[ Notes Repository ]. ĊĠĠĠĠ Ġ* ĠPost - condition : ĊĠĠĠĠ Ġ* Ġ- ĠExpected Ġvalue Ġis Ġsuccessful . ĊĠĠĠĠ Ġ* Ġ- ĠVerify Ġadd Notes Ġof Ġ[ Add Notes UseCase ] Ġand Ġadd Notes Ġof Ġ[ Notes Repository ] Ġis Ġcalled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Add Notes Success () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . add Notes ( notes ) Ġ} Ġreturns Ġ" Success " ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Success ", Ġadd Notes UseCase ( notes )) ĊĠĠĠĠĠĠĠ Ġverify All Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Notes UseCase ( notes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . add Notes ( notes ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVerify Ġif Ġadd Notes Ġcannot Ġadd Ġthe Ġnotes . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠPre - condition : ĊĠĠĠĠ Ġ* Ġ- ĠReturn Ġan Ġerror ĠMessage Ġfrom Ġ[ Notes Repository ]. ĊĠĠĠĠ Ġ* ĠPost - condition : ĊĠĠĠĠ Ġ* Ġ- ĠExpected Ġvalue Ġis Ġsuccessful . ĊĠĠĠĠ Ġ* Ġ- ĠVerify Ġadd Notes Ġof Ġ[ Add Notes UseCase ] Ġand Ġadd Notes Ġof Ġ[ Notes Repository ] Ġis Ġcalled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Add Notes Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . add Notes ( notes ) Ġ} Ġreturns Ġ" Error " ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Error ", Ġadd Notes UseCase ( notes )) ĊĠĠĠĠĠĠĠ Ġverify All Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Notes UseCase ( notes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . add Notes ( notes ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVerify Ġif Ġadd Notes Ġwill Ġreturn Ġnull Ġvalues . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠPre - condition : ĊĠĠĠĠ Ġ* Ġ- ĠAny Ġobject Ġneeded Ġis Ġnot Ġinitialize Ġor Ġnull . ĊĠĠĠĠ Ġ* ĠPost - condition : ĊĠĠĠĠ Ġ* Ġ- ĠExpected Ġvalue Ġis Ġequal Ġto Ġnull . ĊĠĠĠĠ Ġ* Ġ- ĠVerify Ġupdate Notes Ġof Ġ[ Add Notes UseCase ] Ġand Ġupdates Notes Ġof Ġ[ Notes Repository ] Ġis Ġcalled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Add Notes Null () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( add Notes UseCase ( notes )) ĊĠĠĠĠĠĠĠ Ġ// TODO (" repository Ġshould Ġnot Ġbe Ġcalled ") ĊĠĠĠĠĠĠĠ Ġverify All Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Notes UseCase ( notes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . add Notes ( notes ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }