/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ Ċ @ file : Use Serial izers ( Multiply ing Int Holder Serializer :: class , ĠMultiply ing Int Serializer :: class ) Ċ Ċ package Ġkotlinx . serialization . features Ċ Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . Use Serial izers Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ @ Serializable Ċ data Ġclass ĠCar rier 2 ( ĊĠĠĠ Ġval Ġa : ĠInt Holder , ĊĠĠĠ Ġval Ġi : ĠInt , ĊĠĠĠ Ġval Ġnullable : ĠInt ?, ĊĠĠĠ Ġval Ġnullable Int Holder : ĠInt Holder ?, ĊĠĠĠ Ġval Ġnullable Int List : ĠList < Int ?> Ġ= Ġempty List (), ĊĠĠĠ Ġval Ġnullable Int Holder Nullable List : ĠList < Int Holder ?> ? Ġ= Ġnull Ċ ) Ċ Ċ class ĠUse Serial izers Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest On File () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĠJson . encode ToString ( Carrier 2 . serializer (), ĠCar rier 2 ( Int Holder ( 4 2 ), Ġ 2 , Ġ 2 , ĠInt Holder ( 4 2 ))) ĊĠĠĠĠĠĠĠ ĠassertEquals (""" {" a ": 8 4 ," i ": 4 ," nullable ": 4 ," nullable Int Holder ": 8 4 ," nullable Int List ":[ ]," nullable Int Holder Nullable List ": null } """, Ġstr ) ĊĠĠĠ Ġ} Ċ } Ċ