package Ġpro . j ait l . dynamodb . mapper . converter . collection čĊč Ċ import Ġpro . j ait l . dynamodb . mapper . Mapper č Ċ import Ġpro . j ait l . dynamodb . mapper . attribute . map Attribute č Ċ import Ġpro . j ait l . dynamodb . mapper . attribute . number Attribute č Ċ import Ġpro . j ait l . dynamodb . mapper . attribute . number Set Attribute č Ċ import Ġpro . j ait l . dynamodb . mapper . attribute . setAttribute č Ċ import Ġpro . j ait l . dynamodb . mapper . attribute . string Set Attribute č Ċ import Ġjava . time . Instant č Ċ import Ġkotlin . test . Test č Ċ import Ġkotlin . test . assertEquals čĊč Ċ internal Ġclass ĠSet Converter Test Ġ{ čĊĠĠĠ Ġval Ġmapper Ġ= ĠMapper () čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest Write Empty Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < Instant >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠData ( empty Set ()) čĊčĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmapper . write Object ( data ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġset Attribute ( emptyList ()) čĊĠĠĠĠĠĠĠ Ġval Ġexpected Map Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Map , Ġmap ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest Read Empty Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < Instant >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġexpected Data Ġ= ĠData ( empty Set ()) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġset Attribute ( emptyList ()) čĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġmapper . read Object ( obj , ĠData :: class ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Data , Ġdata ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest WriteString Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < String >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠData ( set Of (" 1 ", Ġ" 2 ", Ġ" 3 ")) čĊčĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmapper . write Object ( data ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġstring Set Attribute (" 1 ", Ġ" 2 ", Ġ" 3 ") čĊĠĠĠĠĠĠĠ Ġval Ġexpected Map Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Map , Ġmap ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest ReadString Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < String >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġexpected Data Ġ= ĠData ( set Of (" 1 ", Ġ" 2 ", Ġ" 3 ")) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġstring Set Attribute (" 1 ", Ġ" 2 ", Ġ" 3 ") čĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġmapper . read Object ( obj , ĠData :: class ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Data , Ġdata ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest Write Number Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < Int >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠData ( set Of ( 1 , Ġ 2 , Ġ 3 )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmapper . write Object ( data ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġnumber Set Attribute (" 1 ", Ġ" 2 ", Ġ" 3 ") čĊĠĠĠĠĠĠĠ Ġval Ġexpected Map Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Map , Ġmap ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest Read Number Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < Int >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġexpected Data Ġ= ĠData ( set Of ( 1 , Ġ 2 , Ġ 3 )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġnumber Set Attribute (" 1 ", Ġ" 2 ", Ġ" 3 ") čĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġmapper . read Object ( obj , ĠData :: class ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Data , Ġdata ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest Write Object Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠSimple Data ( val Ġv vv : ĠInt ) čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < Simple Data >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠData ( set Of ( Simple Data ( 1 ), ĠSimple Data ( 2 ), ĠSimple Data ( 3 ))) čĊčĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmapper . write Object ( data ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġset Attribute ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Attribute ( map Of (" vv v " Ġto Ġnumber Attribute ( 1 ))), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Attribute ( map Of (" vv v " Ġto Ġnumber Attribute ( 2 ))), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Attribute ( map Of (" vv v " Ġto Ġnumber Attribute ( 3 ))), čĊĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġval Ġexpected Map Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Map , Ġmap ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġtest Read Object Set () Ġ{ čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠSimple Data ( val Ġv vv : ĠInt ) čĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠData ( val Ġset : ĠSet < Simple Data >) čĊčĊĠĠĠĠĠĠĠ Ġval Ġexpected Data Ġ= ĠData ( set Of ( Simple Data ( 1 ), ĠSimple Data ( 2 ), ĠSimple Data ( 3 ))) čĊčĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġset Attribute ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Attribute ( map Of (" vv v " Ġto Ġnumber Attribute ( 1 ))), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Attribute ( map Of (" vv v " Ġto Ġnumber Attribute ( 2 ))), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Attribute ( map Of (" vv v " Ġto Ġnumber Attribute ( 3 ))), čĊĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġmap Of (" set " Ġto Ġset ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġmapper . read Object ( obj , ĠData :: class ) čĊčĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Data , Ġdata ) čĊĠĠĠ Ġ} č Ċ } čĊ