package Ġcom . github . ter acy . od pt . core . v 4 . common . response čĊč Ċ import Ġcom . squareup . mos hi . Json Adapter č Ċ import Ġcom . squareup . mos hi . M oshi č Ċ import Ġcom . squareup . mos hi . Types č Ċ import Ġorg . assertj . core . api . Assertions . assertThat č Ċ import Ġorg . junit . Before č Ċ import Ġorg . junit . Test č Ċ import Ġorg . junit . experimental . runners . En closed č Ċ import Ġorg . junit . runner . RunWith čĊč Ċ /** čĊ Ġ* Ġv 4 çīĪ äºĭ æ¥Ń èĢħ æĥħåł± API ãĥ¬ ãĤ¹ ãĥĿ ãĥ³ãĤ¹ ãģ® ãĥĨãĤ¹ãĥĪ čĊ Ġ*/ č Ċ @ RunWith ( En closed :: class ) č Ċ class ĠO d pt Operator Test Ġ{ čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* Ġãĥĩ ãĤ· ãĥª ãĤ¢ ãĥ©ãĤ¤ ãĤº ãģ® ãĥĨãĤ¹ãĥĪ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġclass ĠDeserialize Test Ġ{ čĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparameter ized Type Ġ= ĠTypes . new Parameterized Type ( List :: class . java , ĠO d pt Operator :: class . java ) čĊčĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġjson Adapter : ĠJson Adapter < List < Od pt Operator >> čĊčĊĠĠĠĠĠĠĠ Ġ@ Before čĊĠĠĠĠĠĠĠ Ġfun ĠsetUp () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Adapter Ġ= ĠM oshi . Builder (). build (). adapter ( parameter ized Type ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ/** čĊĠĠĠĠĠĠĠĠ Ġ* Ġ æĿ ± äº¬ åħ¬ åħ± äº¤ éĢļ ãĤª ãĥ¼ãĥĹ ãĥ³ ãĥĩãĥ¼ãĤ¿ ãĥģ ãĥ£ ãĥ¬ ãĥ³ ãĤ¸ API ãĤµ ãĥ³ãĥĹ ãĥ« ãĥĩãĥ¼ãĤ¿ ãĤĪ ãĤĬ čĊĠĠĠĠĠĠĠĠ Ġ* ĠNOTE : od pt : operator Title ãģĮ od pt : calendar Title ãģ« ty po ãģĹãģ¦ãģĦ ãģŁ ãģ®ãģ§ ä¿®æŃ£ ãģĹãģ¦ ãģĤãĤĭ čĊĠĠĠĠĠĠĠĠ Ġ*/ čĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġfun Ġto ky o Challenge Sample Data () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġãĥ Ĩ ãĤ¹ãĥĪ ãĥĩãĥ¼ãĤ¿ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ Ġ{\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" @ context \" Ġ: Ġ\" http :// vocab . od pt . org / context _ od pt . json ld \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" @ id \" Ġ: Ġ\" urn : u code :_ 0 0 0 0 1 C 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 3 0 FD 7 E 5 \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" @ type \" Ġ: Ġ\" od pt : Operator \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" dc : date \" Ġ: Ġ\" 2 0 1 7 - 0 1 - 1 3 T 1 5 : 1 0 : 0 0 + 0 9 : 0 0 \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" owl : same As \" Ġ: Ġ\" od pt . Operator : JR - East \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" dc : title \" Ġ: Ġ\" JR æĿ ± æĹ¥æľ¬ \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ\" od pt : operator Title \" Ġ: Ġ{\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġ\" ja \" Ġ: Ġ\" JR æĿ ± æĹ¥æľ¬ \",\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġ\" en \" Ġ: Ġ\" JR ĠEast \"\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġ}\ n " Ġ+ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"} Ġ] " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoperator List Ġ= Ġjson Adapter . fromJson ( json ) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator List ). isNotNull čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator List !!. size ). isEqualTo ( 1 ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoperator 0 Ġ= Ġoperator List [ 0 ] čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . id ). isEqualTo (" urn : u code :_ 0 0 0 0 1 C 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 3 0 FD 7 E 5 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . date ). isEqualTo (" 2 0 1 7 - 0 1 - 1 3 T 1 5 : 1 0 : 0 0 + 0 9 : 0 0 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . same As ). isEqualTo (" od pt . Operator : JR - East ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . title ). isEqualTo (" JR æĿ ± æĹ¥æľ¬ ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . operator Title ). isNotNull čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . operator Title ?. size ). isEqualTo ( 2 ) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . operator Title !! [" ja "]). isEqualTo (" JR æĿ ± æĹ¥æľ¬ ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . operator Title !! [" en "]). isEqualTo (" JR ĠEast ") čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( operator 0 . operator Id . id ). isEqualTo (" od pt . Operator : JR - East ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊ