/* Ċ Ġ* Ġ ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġ Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġ Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġ Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġ Ġto Ġyou Ġ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 Ġorg . apache . isis . client . k ro viz . core . model Ċ Ċ import Ġkotlinx . serialization . Un stable Default Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġorg . apache . isis . client . k ro viz . snapshots . simple app 1 _ 1 6 _ 0 . FR _ OBJECT _ BA Z Ċ import Ġorg . apache . isis . client . k ro viz . to . Link Ċ import Ġorg . apache . isis . client . k ro viz . to . Member Ċ import Ġorg . apache . isis . client . k ro viz . to . T Object Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertTrue Ċ Ċ @ Un stable Default Ċ class ĠFix ture Result Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Object BA Z () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġjson Str Ġ= ĠFR _ OBJECT _ BA Z . str ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġt Obj Ġ= ĠJson . parse ( T Object . serializer (), Ġjson Str ) ĊĠĠĠĠĠĠĠ Ġval Ġdyn Obj Ġ= Ġt Obj . as Dynamic () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertNotNull ( dyn Obj ) ĠĠĠ Ġ// 1 ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Title Ġ= Ġ" domain - app - demo / persist - all / item - 3 : Ġ ĠObject : ĠB az " ĊĠĠĠĠĠĠĠ Ġval Ġactual Title : ĠString Ġ= Ġdyn Obj . title ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Title , Ġactual Title ) Ġ Ġ// 2 ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( dyn Obj . hasOwnProperty (" domain Type ")) ĠĠĠ Ġ// 3 ĊĠĠĠĠĠĠĠ ĠassertTrue ( dyn Obj . hasOwnProperty (" instanceId ")) ĠĠĠĠĠĠ Ġ// 4 ĊĊĠĠĠĠĠĠĠ Ġ// Expectations : ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 : Ġ Ġhas Ġmembers Ġ( member List ?) Ġmapped Ġonto Ġ( dynamic ) ĠMember Ex poser Ġproperties ĊĠĠĠĠĠĠĠ ĠassertTrue ( dyn Obj . hasOwnProperty (" members ")) ĠĠ Ġ// 5 Ġonly Ġinternal Ġ( Object ) Ġattributes Ġare Ġ' adapt ed ' ĊĠĠĠĠĠĠĠ Ġval Ġmembers Ġ= Ġdyn Obj . members ĊĠĠĠĠĠĠĠ Ġval Ġmember Map Ġ= Ġmembers Ġas ĠLinkedHashMap < String , ĠMember > ĊĠĠĠĠĠĠĠ ĠassertNotNull ( member Map ) ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// 6 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġmember Map . size ) ĠĠĠ Ġ// 7 ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 3 : Ġ Ġhas Ġlinks Ġ( link List ?) Ġmapped Ġonto Ġ( dynamic ) ĠMember Ex poser Ġproperties ĊĠĠĠĠĠĠĠ ĠassertTrue ( dyn Obj . hasOwnProperty (" links ")) ĠĠ Ġ// 8 Ġonly Ġinternal Ġ( Object ) Ġattributes Ġare Ġ' adapt ed ' ĊĠĠĠĠĠĠĠ Ġval Ġlinks Ġ= Ġt Obj . links ĊĠĠĠĠĠĠĠ Ġval Ġlink List Ġ= Ġlinks Ġas ĠArrayList < Link >? ĊĠĠĠĠĠĠĠ ĠassertNotNull ( link List ) ĠĠĠĠĠĠĠĠĠ Ġ// 9 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġlink List . size ) Ġ Ġ// 1 0 ĊĠĠĠ Ġ} Ċ Ċ } Ċ