package Ġpro . j ait l . dynamodb Ċ Ċ import Ġpro . j ait l . dynamodb . base . D ynamo Db TestSuite Ċ import Ġpro . j ait l . dynamodb . base . Table Config Ċ import Ġpro . j ait l . dynamodb . base . help CreateTable Ċ import Ġpro . j ait l . dynamodb . mapper . Converter Registry Ċ import Ġpro . j ait l . dynamodb . mapper . DEFAULT _ CONVER TER S Ċ import Ġpro . j ait l . dynamodb . mapper . Mapper Ċ import Ġsoftware . amazon . aw ssdk . services . dynamodb . model . GetItem Request Ċ import Ġsoftware . amazon . aw ssdk . services . dynamodb . model . Put Item Request Ċ import Ġjava . time . Instant Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠCustom Converter Test Ġ: ĠD ynamo Db TestSuite () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtable Ġ= ĠTable Config (" table ", Ġ" id ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Put And GetObject () Ġ{ ĊĠĠĠĠĠĠĠ Ġd ynamo Db Client . help CreateTable ( table ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcustom Converters Map Ġ= ĠlistOf ( Simple DataType Converter (), ĠComplex DataType Converter ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. associate By Ġ{ Ġit . type () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġregistry Ġ= ĠConverter Registry ( DEFAULT _ CONVER TER S Ġ+ Ġcustom Converters Map ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmapper Ġ= ĠMapper ( registry ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġput ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMy Data Class ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsimple DataType Ġ= ĠSimple DataType ( Instant . now ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomplex DataType Ġ= ĠComplex DataType (" test ", Ġ 1 2 3 4 , ĠSimple DataType ( Instant . now (). plus Seconds ( 1 0 0 0 ))) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġd ynamo Data Ġ= Ġmapper . write Object ( data ) ĊĊĠĠĠĠĠĠĠ Ġval Ġput Request Ġ= ĠPut Item Request . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. tableName ( table . tableName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. item ( d ynamo Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġd ynamo Db Client . put Item ( put Request ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġget ĊĠĠĠĠĠĠĠ Ġval Ġkey Value Ġ= Ġmapper . write Object ( My Data Key ( data . id )) ĊĊĠĠĠĠĠĠĠ Ġval Ġget Request Ġ= ĠGet Item Request . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. key ( key Value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. tableName ( table . tableName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġd ynamo Db Client . getItem ( getRequest ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactual Data Ġ= Ġmapper . read Object ( result . item (), ĠMy Data Class :: class ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( data , Ġactual Data ) ĊĠĠĠ Ġ} Ċ } Ċ