/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠEv ange los ĠB ou dis Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . ev ange los . couch base . lite . core Ċ Ċ import Ġcom . ev ange los . couch base . lite . core . converters . Document Converter Ċ import Ġcom . ev ange los . couch base . lite . core . converters . Document Converter Gson Ċ import Ġcom . ev ange los . couch base . lite . core . util . UserData Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ private Ġconst Ġval ĠDATE _ FORMAT Ġ= Ġ" dd / MM / yyyy " Ċ Ċ class ĠConverter Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġconverter : ĠDocument Converter ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set DateFormat ( DATE _ FORMAT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠ Ġconverter Ġ= ĠDocument Converter Gson ( gson ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` data Ġto ĠMutable ĠDocument `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email . com ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 5 . 6 2 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġmutable Doc Ġ= Ġconverter . data To Mutable Document ( user , Ġ" user _ doc ", ĠUser Data :: class . java ) Ġ?: Ġthrow ĠException () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" email . com ", Ġmutable Doc . getString (" email ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 1 , Ġmutable Doc . getInt (" age ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 5 . 6 2 f , Ġmutable Doc . get Float (" balance ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġmutable Doc . getBoolean (" enabled ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( SimpleDateFormat ( DATE _ FORMAT ). format ( date ), Ġmutable Doc . getString (" join _ date ")) ĊĠĠĠĠĠĠĠ ĠassertEquals (" user _ doc ", Ġmutable Doc . getString ( TYPE )) ĊĠĠĠ Ġ} Ċ Ċ }