package Ġcom . example . demo . service . impl Ċ Ċ import Ġcom . example . demo . entity . Memo Ċ import Ġcom . example . demo . repository . Memo Repository Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Inject Mocks Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito .* Ċ import Ġorg . mockito . junit . Mockito JUnit Ċ import Ġorg . mockito . junit . Mockito Rule Ċ import Ġorg . mockito . quality . Strict ness Ċ import Ġorg . springframework . data . domain . Page Impl Ċ import Ġorg . springframework . data . domain . Page Request Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ åįĺ ä½ĵ ãĥĨãĤ¹ãĥĪ Ċ Ġ*/ Ċ class ĠM emo ServiceImpl Tests Ġ{ ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġrule : ĠMockito Rule Ġ= ĠMockito JUnit . rule (). strict ness ( Strict ness . STRICT _ ST UB S ) ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġrepository : ĠM emo Repository ĊĠĠĠ Ġ@ Inject Mocks ĊĠĠĠ Ġlateinit Ġvar Ġsut : ĠM emo ServiceImpl ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfind ById () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠM emo ( id Ġ= Ġ 1 , Ġtitle Ġ= Ġ" title ", Ġdescription Ġ= Ġ" description ", Ġdone Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ ĠMockito .` when `( repository . findById ( any Long ())). thenReturn ( Optional . of Nullable ( expected )) ĊĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġsut . findById ( 1 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). ` as ` (" actual ãģ¯ å¿ħ ãģļ æ¤ ľç´¢ ãģ§ãģįãĤĭ "). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). isEqualTo ( expected ) ĊĊĠĠĠĠĠĠĠ Ġverify ( repository , Ġtimes ( 1 )). findById ( any Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠfindAll With Empty List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage able : ĠPage Request Ġ= ĠPage Request . of ( 0 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġempty List < Memo >() ĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= ĠPage Impl < Memo >( expected , Ġpage able , Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠMockito .` when `( repository . findAll ( eq ( page able ))). thenReturn ( page ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġsut . findAll ( page able ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). has Size ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġverify ( repository , Ġtimes ( 1 )). findAll ( eq ( page able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠfindAll () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage able : ĠPage Request Ġ= ĠPage Request . of ( 0 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM emo ( id Ġ= Ġ 1 , Ġtitle Ġ= Ġ" test Ġtitle Ġ 1 ", Ġdescription Ġ= Ġ" test Ġdescription Ġ 1 ", Ġdone Ġ= Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM emo ( id Ġ= Ġ 2 , Ġtitle Ġ= Ġ" test Ġtitle Ġ 2 ", Ġdescription Ġ= Ġ" test Ġdescription Ġ 2 ", Ġdone Ġ= Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM emo ( id Ġ= Ġ 3 , Ġtitle Ġ= Ġ" test Ġtitle Ġ 3 ", Ġdescription Ġ= Ġ" test Ġdescription Ġ 3 ", Ġdone Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= ĠPage Impl < Memo >( expected , Ġpage able , Ġ 3 ) ĊĠĠĠĠĠĠĠ ĠMockito .` when `( repository . findAll ( eq ( page able ))). thenReturn ( page ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġsut . findAll ( page able ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). contains Sequence ( expected ) ĊĊĠĠĠĠĠĠĠ Ġverify ( repository , Ġtimes ( 1 )). findAll ( eq ( page able )) ĊĠĠĠ Ġ} Ċ Ċ }