package Ġkotlinx . serialization . csv . records Ċ Ċ import Ġkotlinx . serialization . Experimental Serialization Api Ċ import Ġkotlinx . serialization . builtins . List Serializer Ċ import Ġkotlinx . serialization . builtins . nullable Ċ import Ġkotlinx . serialization . csv . Csv Ċ import Ġkotlinx . serialization . test . assert Encode And Decode Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġkotlin . test . Test Ċ Ċ /** Ċ Ġ* ĠTest Ġ[ Csv ] Ġwith Ġsimple Ġprimitive Ġrecords . Ċ Ġ*/ Ċ @ Opt In ( Experimental Serialization Api :: class ) Ċ class ĠCsv Object Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Object () Ġ= ĠCsv . assert Encode And Decode ( ĊĠĠĠĠĠĠĠ Ġ" kotlin x . serialization . csv . records . Object Record ", ĊĠĠĠĠĠĠĠ ĠObject Record , ĊĠĠĠĠĠĠĠ ĠObject Record . serializer () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Nullable Object () Ġ= ĠCsv . assert Encode And Decode ( ĊĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ ĠObject Record . serializer (). nullable ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Object List () Ġ= ĠCsv Ġ{ ĊĠĠĠĠĠĠĠ Ġignore Empty Lines Ġ= Ġfalse ĊĠĠĠ Ġ}. assert Encode And Decode ( ĊĠĠĠĠĠĠĠ Ġ" kotlin x . serialization . csv . records . Object Record \ n \ n kotlin x . serialization . csv . records . Object Record ", ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject Record , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject Record ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠList Serializer ( Object Record . serializer (). nullable ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invalid Object () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCsv . decode FromString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObject Record . serializer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kotlin x . serialization . csv . records . Invalid Name " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ