/* Ċ * ĠĠ ĠCopyright Ġ 2 0 1 9 ĠMar co ĠG omi ero Ċ * Ċ * ĠĠ Ġ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 Ġcom . prof . rs spar ser . core Ċ Ċ import Ġcom . prof . rs spar ser . Article Ċ import Ġcom . prof . rs spar ser . Channel Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertNull Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠCore XML Parser Feed Ru Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġarticle List : ĠList < Article > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġarticle : ĠArticle ĊĠĠĠ Ġprivate Ġval Ġfeed Path Ġ= Ġ"/ feed - test - ru . xml " ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġchannel : ĠChannel ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= Ġjava Class . getResource AsStream ( feed Path ) !! ĊĠĠĠĠĠĠĠ Ġval Ġfeed Ġ= ĠinputStream . buffered Reader (). use Ġ{ Ġit . read Text () Ġ} ĊĠĠĠĠĠĠĠ Ġchannel Ġ= ĠCore XML Parser . parse XML ( feed ) ĊĠĠĠĠĠĠĠ Ġarticle List Ġ= Ġchannel . articles ĊĠĠĠĠĠĠĠ Ġarticle Ġ= Ġarticle List [ 0 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchannel Title _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" ÐĲ ÑĢ Ð³ ÑĥÐ¼ÐµÐ½ÑĤ Ñĭ ĠÐ¸ ĠÐ ¤ Ð°Ðº ÑĤ Ñĭ ", Ġchannel . title ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchannel Desc _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" ÐĲ ÑĢ Ð³ ÑĥÐ¼ÐµÐ½ÑĤ Ñĭ ĠÐ¸ ĠÐ ¤ Ð°Ðº ÑĤ Ñĭ : ĠÐ¾Ð±ÑĬ Ñı Ñģ Ð½Ñı ÐµÐ¼ , ĠÑĩÑĤÐ¾ ĠÐ¿ÑĢÐ¾ Ð¸Ñģ ÑħÐ¾Ð´ Ð¸ÑĤ ", Ġchannel . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchannel Link _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" http :// www . a if . ru /", Ġchannel . link ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchannel Image _ isNull () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( channel . image ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchannel Last Build _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 9 - 0 5 - 1 8 Ġ 1 0 : 5 8 : 4 6 Ġ+ 0 3 0 0 ", Ġchannel . last Build Date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchannel Update Period _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( channel . update Period ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġsize _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 , Ġarticle List . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġtitle _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" Ð¡ Ðľ Ðĺ : ĠÑģ Ð¾Ð± Ð°Ðº Ð° ĠÐ² ĠÐ¢ Ð° Ð¸Ð» Ð°Ð½Ð´ Ðµ ĠÑģÐ¿ Ð°Ñģ Ð»Ð° ĠÐ· Ð°Ð¶ Ð¸Ð² Ð¾ ĠÐ¿Ð¾ Ñħ Ð¾ÑĢ Ð¾Ð½ ÐµÐ½ Ð½Ð¾Ð³Ð¾ ĠÐ¼ Ð» Ð°Ð´ ÐµÐ½ ÑĨ Ð° ", Ġarticle . title ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġauthor _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġarticle . author ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġlink _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" http :// www . a if . ru / incident s / smi _ so b aka _ v _ tail ande _ sp as la _ z az h ivo _ po hor on enn ogo _ ml aden ca ", Ġarticle . link ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġpub Date _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" Sat , Ġ 1 8 ĠMay Ġ 2 0 1 9 Ġ 1 0 : 5 2 : 5 0 Ġ+ 0 3 0 0 ", Ġarticle . pub Date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġdescription _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" 1 5 - Ð» ÐµÑĤ Ð½Ñı Ñı ĠÐ¼ Ð°ÑĤÑĮ ĠÑĢ ÐµÐ± ÐµÐ½ ÐºÐ° ĠÑĢ ÐµÑĪ Ð¸Ð» Ð° ĠÐ¸Ð· Ð± Ð°Ð² Ð¸ÑĤÑĮ ÑģÑı ĠÐ¾ÑĤ ĠÐ½ ÐµÐ³Ð¾ , ĠÐ¿ Ð¾Ð± Ð¾Ñı Ð² ÑĪ Ð¸Ñģ ÑĮ ĠÐ³ Ð½ ÐµÐ² Ð° ĠÑĢ Ð¾Ð´ Ð¸ÑĤ ÐµÐ» ÐµÐ¹ ", Ġarticle . description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġcontent _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġarticle . content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġimage _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" https :// images . a if . ru / 0 1 7 / 0 2 0 / 0 2 5 bc 5 cb 4 cc 5 d 0 f 8 3 4 7 bbb 2 7 f 5 e 4 d 1 3 b . jpg ", Ġarticle . image ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġcategories _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( mutable ListOf (" ÐŁ ÑĢÐ¾ Ð¸Ñģ ÑĪ ÐµÑģÑĤÐ² Ð¸Ñı "), Ġarticle . categories ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġguid _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġarticle . guid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġaudio _ i Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( article . audio ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġsource Name _ i Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( article . source Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġsource Url _ i Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( article . source Url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ĊĠĠĠ Ġfun Ġvideo _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( article . video ) ĊĠĠĠ Ġ} Ċ }