/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 7 Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . build Ċ Ċ import Ġjunit . framework . TestCase Ċ import Ġorg . junit . Test Ċ Ċ class ĠSerialization UtilsTest Ġ: ĠTestCase () Ġ{ ĊĠĠĠ Ġdata Ġclass ĠTest Property Types ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġint Null : ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġint : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Null : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbool Null : ĠBoolean ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbool : ĠBoolean ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Property Types () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstance 1 Ġ= ĠTest Property Types ( null , Ġ 1 , Ġnull , Ġ" abc ", Ġnull , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġdeserialized 1 Ġ= Ġdeserialize From Plain Text < Test Property Types >( serialize To Plain Text ( instance 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( instance 1 , Ġdeserialized 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinstance 2 Ġ= ĠTest Property Types ( 1 , Ġ 2 , Ġ" abc ", Ġ" xyz ", Ġtrue , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġdeserialized 2 Ġ= Ġdeserialize From Plain Text < Test Property Types >( serialize To Plain Text ( instance 2 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( instance 2 , Ġdeserialized 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠTest Added Field 1 ( val Ġx : ĠInt ) ĊĠĠĠ Ġdata Ġclass ĠTest Added Field 2 ( val Ġx : ĠInt , Ġval Ġy : ĠInt ?) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Added Field () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Added Field 1 Ġ= ĠTest Added Field 1 ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġserialized Ġ= Ġserialize To Plain Text ( test Added Field 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġdeserialized Ġ= Ġdeserialize From Plain Text < Test Added Field 2 >( serialized ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Test Added Field 2 ( 1 , Ġnull ), Ġdeserialized ) ĊĠĠĠ Ġ} Ċ } ĊĊ