package Ġnet . lab 0 . mos hi . adapter . javax json Ċ Ċ import Ġcom . squareup . mos hi . Json Adapter Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Disabled Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjavax . json . JsonValue Ċ import Ġjavax . json . spi . Json Provider Ċ Ċ @ Disabled (" Does n 't Ġwork ") Ċ internal Ġclass ĠEasy Adapter Test Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġprovider Ġ= ĠJson Provider . provider () ĊĠĠĠ Ġval Ġm oshi Ġ= ĠM oshi ĊĠĠĠĠĠĠĠ Ġ. Builder () ĊĠĠĠĠĠĠĠ Ġ. add ( Easy Adapter ( provider )) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠ Ġ} ĊĊĠ Ġdata Ġclass ĠCase < T >( val Ġa : ĠT , Ġval Ġb : ĠString ) Ġwhere ĠT Ġ: ĠJson Value ĊĊĠ Ġinline Ġfun Ġ< re ified ĠT > Ġassert Equivalent ( case : ĠCase < T >) Ġwhere ĠT Ġ: ĠJson Value Ġ{ ĊĠĠĠ Ġval Ġadapter : ĠJson Adapter < T > Ġ= Ġm oshi . adapter ( T :: class . java ) ĊĊĠĠĠ ĠassertThat ( adapter . toJson ( case . a )) ĊĠĠĠĠĠĠĠ Ġ. isEqualTo ( case . b ) ĊĠĠĠĠĠĠĠ Ġ. described As (" Obj -> Json Ġ$ case ") ĊĊĠĠĠ ĠassertThat ( adapter . fromJson ( case . b )) ĊĠĠĠĠĠĠĠ Ġ. isEqualTo ( case . a ) ĊĠĠĠĠĠĠĠ Ġ. described As (" Json -> Obj Ġ$ case ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` adapt Ġan Ġint `() Ġ{ ĊĠĠĠ Ġassert Equivalent ( Case ( provider . create Value ( 1 ) Ġas ĠJson Value , Ġ" 1 ")) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` adapt Ġan Ġobject `() Ġ{ ĊĠĠĠ Ġassert Equivalent ( ĊĠĠĠĠĠĠĠ ĠCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprovider . createObject Builder ( map Of (" foo " Ġto Ġ 1 )). build () Ġas ĠJson Value , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" {" foo ": 1 } """ ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ