/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠX iz hi ĠZ hu Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġme . x iz zh u . android . j osh ua . core . repository . remote . android Ċ Ċ import Ġkotlinx . coroutines . channels . Channel Ċ import Ġkotlinx . coroutines . channels . consume Each Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġme . x iz zh u . android . j osh ua . core . Bible Ċ import Ġme . x iz zh u . android . j osh ua . core . repository . remote . Remote Translation Info Ċ import Ġme . x iz zh u . android . j osh ua . tests . Base UnitTest Ċ import Ġme . x iz zh u . android . j osh ua . tests . Mock Contents Ċ import Ġorg . junit . Before Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠHttp Translation Service Test Ġ: ĠBase UnitTest () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhttp Translation Service : ĠHttp Translation Service ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setup () ĊĊĠĠĠĠĠĠĠ Ġhttp Translation Service Ġ= ĠHttp Translation Service () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch Translations () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprepare Translation List () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemote Translation Info (" KJ V ", Ġ" King ĠJames ĠVersion ", Ġ" en _ gb ", Ġ 1 8 6 1 1 3 3 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemote Translation Info (" ä¸Ńæĸĩ åĴĮ åĲĪ æľ¬ ", Ġ" ä¸Ńæĸĩ åĴĮ åĲĪ æľ¬ ï¼Ī ç®Ģ ä½ĵ ï¼ī ", Ġ" zh _ cn ", Ġ 1 7 8 1 7 2 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhttp Translation Service . fetch Translations () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch Translation () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprepare K jv () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠChannel < Int >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġchannel Called Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . consume Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Called Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( it Ġin Ġ 0 .. 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġhttp Translation Service . fetch Translation ( channel , ĠMock Contents . k jv Remote Translation Info ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . close () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( channel Called ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Mock Contents . k jv Remote Translation Info , Ġactual . translation Info ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Bible . BOOK _ COUNT , Ġactual . book Names . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Bible . TOTAL _ CH AP TER _ COUNT , Ġactual . ver ses . size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ