package Ġcom . c andle flask . framework . data . datasource . ti ingo . snapshot Ċ Ċ import Ġcom . squareup . mos hi . Types Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertFalse Ċ import Ġorg . junit . Test Ċ Ċ class ĠTi ingo REST Response Conversion Test Ġ{ ĊĊĠ Ġprivate Ġval Ġm oshi ĊĠĠĠ Ġget () Ġ= ĠTi ingo REST ĊĠĠĠĠĠ Ġ. create M oshi Builder () ĊĠĠĠĠĠ Ġ. build () ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` convert Ġmeta Ġinfo `() Ġ{ ĊĠĠĠ Ġval Ġjson Ġ= Ġ""" ĊĠĠĠ Ġ{ ĊĠĠĠĠĠ Ġ" name ": Ġ" Square ĠInc Ġ- ĠClass ĠA ", ĊĠĠĠĠĠ Ġ" description ": Ġ" Square , ĠInc . Ġbuilds Ġtools Ġto Ġemp ower Ġbus inesses Ġand Ġindividuals Ġto Ġparticip ate Ġin Ġthe Ġeconom y . ĠS ell ers Ġuse ĠSquare Ġto Ġreach Ġbuy ers Ġonline Ġand Ġin Ġperson , Ġmanage Ġtheir Ġbusiness , Ġand Ġaccess Ġfin ancing . ĠIndividual s Ġuse ĠCash ĠApp Ġto Ġspend , Ġsend , Ġstore , Ġand Ġinvest Ġmoney . ĠAnd ĠT ID AL Ġis Ġa Ġglobal Ġmusic Ġand Ġent ert ain ment Ġplatform Ġthat Ġexp ands ĠSquare 's Ġpurpose Ġof Ġeconom ic Ġemp ower ment Ġto Ġartists . ĠSquare , ĠInc . Ġhas Ġoff ices Ġin Ġthe ĠUnited ĠStates , ĠCanada , ĠJ apan , ĠA ustralia , ĠI rel and , ĠSp ain , ĠNor way , Ġand Ġthe ĠUK .", ĊĠĠĠĠĠ Ġ" exchange Code ": Ġ" NY SE ", ĊĠĠĠĠĠ Ġ" endDate ": Ġ" 2 0 2 1 - 0 8 - 2 7 ", ĊĠĠĠĠĠ Ġ" ticker ": Ġ" SQ ", ĊĠĠĠĠĠ Ġ" startDate ": Ġ" 2 0 1 5 - 1 1 - 1 9 " ĊĠĠĠ Ġ} ĊĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġval Ġresult Ġ= Ġm oshi . adapter ( Ti ingo REST Meta Info :: class . java ). fromJson ( json ) ĊĠĠĠ Ġrequire NotNull ( result ) ĊĠĠĠ ĠassertEquals ( result . startDate ?. to Basic Display String (), Ġ" 2 0 1 5 - 1 1 - 1 9 ") ĊĠĠĠ ĠassertEquals ( result . endDate ?. to Basic Display String (), Ġ" 2 0 2 1 - 0 8 - 2 7 ") ĊĠĠĠ ĠassertEquals ( result . exchange Code , Ġ" NY SE ") ĊĠĠĠ ĠassertEquals ( result . ticker , Ġ" SQ ") ĊĠĠĠ ĠassertEquals ( result . name , Ġ" Square ĠInc Ġ- ĠClass ĠA ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġconvert FromJson () Ġ{ ĊĠĠĠ Ġval Ġjson Ġ= ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ[ ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" adj Close ": Ġ 2 6 8 . 0 1 , ĊĠĠĠĠĠĠĠĠĠ Ġ" adj High ": Ġ 2 7 0 . 4 8 3 8 , ĊĠĠĠĠĠĠĠĠĠ Ġ" adj Low ": Ġ 2 6 1 . 6 1 5 3 , ĊĠĠĠĠĠĠĠĠĠ Ġ" adj Open ": Ġ 2 6 2 , ĊĠĠĠĠĠĠĠĠĠ Ġ" adj Volume ": Ġ 4 6 4 6 2 1 2 , ĊĠĠĠĠĠĠĠĠĠ Ġ" close ": Ġ 2 6 8 . 0 1 , ĊĠĠĠĠĠĠĠĠĠ Ġ" date ": Ġ" 2 0 2 1 - 0 8 - 2 7 T 0 0 : 0 0 : 0 0 + 0 0 : 0 0 ", ĊĠĠĠĠĠĠĠĠĠ Ġ" div Cash ": Ġ 0 , ĊĠĠĠĠĠĠĠĠĠ Ġ" high ": Ġ 2 7 0 . 4 8 3 8 , ĊĠĠĠĠĠĠĠĠĠ Ġ" low ": Ġ 2 6 1 . 6 1 5 3 , ĊĠĠĠĠĠĠĠĠĠ Ġ" open ": Ġ 2 6 2 , ĊĠĠĠĠĠĠĠĠĠ Ġ" split Factor ": Ġ 1 , ĊĠĠĠĠĠĠĠĠĠ Ġ" volume ": Ġ 4 6 4 6 2 1 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ] ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġval Ġtype Ġ= ĠTypes . new Parameterized Type ( List :: class . java , ĠTi ingo REST Ticker EndOf Day :: class . java ) ĊĠĠĠ Ġval Ġresult Ġ= Ġm oshi . adapter < List < Ti ingo REST Ticker EndOf Day >>( type ) ĊĠĠĠĠĠ Ġ. fromJson ( json ) ĊĊĠĠĠ ĠassertFalse ( result . isNull OrEmpty ()) ĊĠĠĠ Ġval Ġmodel Ġ= Ġrequire NotNull ( result ?. first ()) ĊĠĠĠ ĠassertEquals ( model . close , Ġ" 2 6 8 . 0 1 ") ĊĠĠĠ ĠassertEquals ( model . date . time , Ġ 1 6 3 0 0 2 2 4 0 0 0 0 0 ) ĊĠ Ġ} ĊĊ Ċ }