import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . Mockito .* Ċ import Ġtwitter 4 j . QueryResult Ċ import Ġtwitter 4 j . Status Ċ import Ġtwitter 4 j . Twitter Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Zone Id Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util .* ĊĊ Ċ internal Ġclass ĠTweet Walker Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġsome LocalDateTime Ġ= ĠLocalDateTime . now () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtweet Walker : ĠTweet Provider ĊĊĠĠĠ Ġprivate Ġval Ġexpected List Ġ= ĠlistOf ( 1 , Ġ 0 , Ġ 2 , Ġ 0 , Ġ 1 ) ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtweets Ġ= Ġmock ( Status :: class . java ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate . from ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome LocalDateTime . at Zone ( Zone Id . system Default ()). to Instant () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` when `( it . createdAt ). thenReturn ( date ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtwitter Response : ĠList < Status > Ġ= Ġarray ListOf ( tweets ) ĊĊĠĠĠĠĠĠĠ Ġval Ġquery Result Ġ= Ġmock ( QueryResult :: class . java ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` when `( it . tweets ). thenReturn ( twitter Response ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` when `( it . next Query ()). thenReturn ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtwitter Ġ= Ġmock ( Twitter :: class . java ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` when `( it . search ( any ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( query Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtweet Walker Ġ= ĠTweet Walker ( twitter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget T weets By Has ht ag () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtweets Ġ= Ġtweet Walker . getT weets By Has ht ag (" any ") ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= ĠDateTime Formatter . of Pattern (" uu uu - MM - dd ' T ' HH : mm : ss . SS S ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġtweets . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( some LocalDateTime . format ( format ), Ġtweets [ 0 ]. getDate (). format ( format )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġlist Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected List , Ġtweet Walker . make Hours Array ( listOf ( 0 , Ġ 2 , Ġ 2 , Ġ 4 ), Ġ 5 ). asList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġempty List Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 ), Ġtweet Walker . make Hours Array ( listOf (), Ġ 5 ). asList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalue Range List Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected List , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtweet Walker . make Hours Array ( listOf (- 1 , Ġ 2 , Ġ 0 , Ġ 2 , Ġ 4 , Ġ 5 ), Ġ 5 ). asList ()) ĊĠĠĠ Ġ} Ċ } Ċ