package Ġfr . free . n rw . commons . category Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġio . reactivex . Single Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Argument Matchers .* Ċ import Ġorg . mockito . Inject Mocks Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito . mock Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġorg . wikipedia . datac lient . mw api . Mw Query Page Ċ import Ġorg . wikipedia . datac lient . mw api . Mw Query Response Ċ import Ġorg . wikipedia . datac lient . mw api . Mw QueryResult Ċ Ċ class ĠCategory Client Test Ġ{ ĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġcategory Interface : ĠCategory Interface ĊĊĠĠĠ Ġ@ Inject Mocks ĊĠĠĠ Ġlateinit Ġvar Ġcategory Client : ĠCategory Client ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsearch Categories Found () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Mock Response (" Category : Test ") ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . search Categories ( any String (), Ġany Int (), Ġany Int ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories (" tes ", Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( listOf ( Category Item (" Test ", Ġ"", Ġ"", Ġfalse ))) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories (" tes ", Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( listOf ( Category Item (" Test ", Ġ"", Ġ"", Ġfalse ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsearch Categories Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Null Pages () ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . search Categories ( any String (), Ġany Int (), Ġany Int ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories (" tes ", Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( emptyList ()) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories (" tes ", Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( emptyList ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsearch Categories For Prefix Found () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Mock Response (" Category : Test ") ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . search Categories For Prefix ( any String (), Ġany Int (), Ġany Int ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories For Prefix (" tes ", Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( listOf ( Category Item (" Test ", Ġ"", Ġ"", Ġfalse ))) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories For Prefix (" tes ", Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( listOf ( Category Item (" Test ", Ġ"", Ġ"", Ġfalse ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsearch Categories For Prefix Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Null Pages () ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . search Categories For Prefix ( any String (), Ġany Int (), Ġany Int ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories For Prefix (" tes ", Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( emptyList ()) ĊĠĠĠĠĠĠĠ Ġcategory Client . search Categories For Prefix (" tes ", Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( emptyList ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetParent Category List Found () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Mock Response (" Category : Test ") ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . getParent Category List ( any String (), Ġany Map ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . getParent Category List (" tes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( listOf ( Category Item (" Test ", Ġ"", Ġ"", Ġfalse ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetParent Category List Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Null Pages () ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . getParent Category List ( any String (), Ġany Map ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . getParent Category List (" tes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( emptyList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Sub Category List Found () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Mock Response (" Category : Test ") ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . getSub Category List (" tes ", Ġempty Map ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . getSub Category List (" tes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( listOf ( Category Item (" Test ", Ġ"", Ġ"", Ġfalse ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Sub Category List Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġwith Null Pages () ĊĠĠĠĠĠĠĠ Ġwhenever ( category Interface . getSub Category List ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġany String (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġany Map () ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( Single . just ( mock Response )) ĊĠĠĠĠĠĠĠ Ġcategory Client . getSub Category List (" tes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Values ( emptyList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Mock Response ( title : ĠString ): ĠM w Query Response ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmw Query Page : ĠM w Query Page Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( mw Query Page . title ()). thenReturn ( title ) ĊĠĠĠĠĠĠĠ Ġval Ġmw QueryResult : ĠM w QueryResult Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( mw QueryResult . pages ()). thenReturn ( listOf ( mw Query Page )) ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġmock ( Mw Query Response :: class . java ) ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Response . query ()). thenReturn ( mw QueryResult ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmock Response ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwith Null Pages (): ĠM w Query Response ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmw QueryResult Ġ= Ġmock ( Mw QueryResult :: class . java ) ĊĠĠĠĠĠĠĠ Ġwhenever ( mw QueryResult . pages ()). thenReturn ( null ) ĊĠĠĠĠĠĠĠ Ġval Ġmock Response Ġ= Ġmock ( Mw Query Response :: class . java ) ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Response . query ()). thenReturn ( mw QueryResult ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmock Response ĊĠĠĠ Ġ} Ċ } Ċ