package Ġcom . yo ss ise ge v . data Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠY oss i ĠSe ge v Ġon Ġ 1 9 / 0 1 / 2 0 1 8 . Ċ Ġ*/ Ċ import Ġcom . yo ss ise ge v . data . repositories . Memory Movies Cache Ċ import Ġcom . yo ss ise ge v . domain . common . Domain TestUtils . Companion . generate Movie Entity List Ċ import Ġcom . yo ss ise ge v . domain . common . Domain TestUtils . Companion . getTest Movie Entity Ċ import Ġorg . junit . Assert . assertFalse Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠMemory Movies Cache Tests Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmemory Movies Cache : ĠMemory Movies Cache ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache Ġ= ĠMemory Movies Cache () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest When Saving Pop ular Movies They Can All Be Retrie ved () Ġ{ ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . save All ( generate Movie Entity List ()) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . getAll (). test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġlist Ġ-> Ġlist . size Ġ== Ġ 5 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Saved Movie Can Be Retrie ved Using Id () Ġ{ ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . save ( getTest Movie Entity ( 3 )) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . get ( 3 ). test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġoptional Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptional . hasValue () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptional . value ?. title Ġ== Ġ" Movie 3 " Ġ&& Ġoptional . value ?. id Ġ== Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest After Clear ing The Repository There Are No Movies () Ġ{ ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . save All ( generate Movie Entity List ()) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . getAll (). test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġlist Ġ-> Ġlist . size Ġ== Ġ 5 Ġ} ĊĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . clear () ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . getAll (). test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġlist Ġ-> Ġlist . isEmpty () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Removing Movie From Cache () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmovie Entity Ġ= Ġget Test Movie Entity ( 3 ) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . save ( movie Entity ) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . get ( 3 ). test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġoptional Ġ-> Ġoptional . hasValue () Ġ} ĊĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . remove ( movie Entity ) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . get ( 3 ). test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġoptional Ġ-> Ġ! optional . hasValue () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest IsEmpty Returns Expected Result () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( memory Movies Cache . isEmpty ()) ĊĠĠĠĠĠĠĠ Ġmemory Movies Cache . save All ( generate Movie Entity List ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( memory Movies Cache . isEmpty ()) ĊĠĠĠ Ġ} Ċ }