/* Ċ Ġ* ĠLicense : ĠMIT Ċ Ġ* ĠCopyright Ġ( c ) Ġ ĠP ela ĠC rist ian Ġ 2 0 1 9 . Ċ Ġ*/ Ċ Ċ package Ġcom . cr sk dev . bib l ere ader plus . domain . inter actors . read Ċ Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠC rist ian ĠP ela Ġon Ġ 1 4 . 1 1 . 2 0 1 8 . Ċ Ġ*/ Ċ @ Experimental Cor outines Api Ċ class ĠContent Interactor Impl Test Ġ{ ĊĊĠĠĠ Ġ/*@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġrepository : ĠDocument Repository ĊĊĠĠĠ Ġlateinit Ġvar Ġcontent Interactor : ĠContent Interactor ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this , Ġrelax Unit Fun Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcontent Interactor Ġ= ĠContent Interactor Impl ( Test Dispatch ers , Ġrepository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġreturn Ġall Ġthe Ġcontents Ġwhen Ġquery Ġis Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . contents () Ġ} Ġreturns Ġempty List () ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Contents Ġ= Ġcontent Interactor . request (" ĠĠ Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( actual Contents Ġis ĠContent Interactor . Response . OK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ Ġrepository . contents () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġreturn Ġall Ġthe Ġcontents Ġwhen Ġquery Ġis Ġempty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . contents () Ġ} Ġreturns Ġempty List () ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Contents Ġ= Ġcontent Interactor . request (" ĠĠ Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( actual Contents Ġis ĠContent Interactor . Response . OK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ Ġrepository . contents () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġerror Ġwhen Ġquery Ġis Ġnot Ġempty Ġand Ġlength Ġis Ġless Ġthan Ġ 3 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Contents Ġ= Ġcontent Interactor . request (" a ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( actual Contents Ġis ĠContent Interactor . Response . Error . Invalid Length ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġfilter Ġwhen Ġquery Ġis Ġnot Ġempty Ġand Ġlength Ġis Ġat Ġleast Ġlarger Ġthan Ġ 3 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . filter Contents ( any ()) Ġ} Ġreturns Ġempty List () ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Interactor . request (" aaa ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ Ġrepository . filter Contents ( any ()) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}*/ Ċ }