/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 / 2 0 2 1 ĠL it ote Ċ Ġ* Ċ Ġ* Ġ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 . lit ote . km ongo . issues Ċ Ċ import Ġkotlinx . serialization . Experimental Serialization Api Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . descriptors . Primitive Kind Ċ import Ġkotlinx . serialization . descriptors . Primitive Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ import Ġorg . bson . Document Ċ import Ġorg . junit . Test Ċ import Ġorg . lit ote . km ongo . All Categories K Mongo Base Test Ċ import Ġorg . lit ote . km ongo . findOne Ċ import Ġorg . lit ote . km ongo . with Document Class Ċ import Ġjava . nio . file . Path Ċ import Ġjava . nio . file . Paths Ċ import Ġkotlin . test . assertEquals Ċ Ċ @ Serializable Ċ data Ġclass ĠB la (@ Serializable ( with Ġ= ĠPath Serializer :: class ) Ġvar Ġpath : ĠPath ) Ċ Ċ object ĠPath Serializer Ġ: ĠK Serializer < Path > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġdescriptor Ġ= ĠPrimitive Serial Descriptor (" Path ", ĠPrimitive Kind . STRING ) ĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠPath ) Ġ= Ġencoder . encode String ( value . to AbsolutePath (). toString ()) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠPath Ġ= ĠPaths . get ( decoder . decode String ()) Ċ } Ċ Ċ /** Ċ Ġ* Ċ Ġ*/ Ċ @ Experimental Serialization Api Ċ class ĠIssue 3 0 7 Maximum Serialization Depth Ġ: ĠAll Categories K Mongo Base Test < B la >() Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcan Find One () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠPaths . get (" e ") ĊĠĠĠĠĠĠĠ Ġval Ġb la Ġ= ĠB la ( path ) ĊĠĠĠĠĠĠĠ Ġcol . insert One ( bl a ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( B la ( path . to AbsolutePath ()), Ġcol . findOne ()) ĊĠĠĠ Ġ} Ċ }