package Ġcom . ci and t . test coroutines . repository Ċ Ċ import Ġcom . ci and t . test coroutines . infrastructure . coroutines . call Async Ċ import Ġcom . ci and t . test coroutines . tools . UnitTest Cor outines Rule Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ class ĠCount Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġcor outines Rule Ġ= ĠUnit Test Cor outines Rule () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġincrease _ should Increase Count ing () Ġ= Ġcall Async Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠCount Repository Impl () ĊĊĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġcount Ġ= Ġrepository . increase ( count ). await () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġcount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdecrease _ should De crease Count ing () Ġ= Ġcall Async Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠCount Repository Impl () ĊĊĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġcount Ġ= Ġrepository . decrease ( count ). await () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (- 1 , Ġcount ) ĊĠĠĠ Ġ} Ċ } Ċ