package Ġcom . merc ate o . json schema . property . annotation Ċ Ċ import Ġorg . assertj . core . api . Map Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġkotlin . reflect . full . member Properties Ċ Ċ class ĠAnnotation Map Builder Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġannotation Map Builder : ĠAnnotation Map Builder ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġannotation Map Builder Ġ= ĠAnnotation Map Builder () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate Map Should Return Empty Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġannotation Map Ġ= Ġannotation Map Builder . create Map ( emptyList ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( annotation Map ). isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Retention ( Annotation Retention . RUNTIME ) ĊĠĠĠ Ġinternal Ġannotation Ġclass ĠTest 1 ĊĊĠĠĠ Ġ@ Retention ( Annotation Retention . RUNTIME ) ĊĠĠĠ Ġinternal Ġannotation Ġclass ĠTest 2 ĊĊĠĠĠ Ġ@ Retention ( Annotation Retention . RUNTIME ) ĊĠĠĠ Ġinternal Ġannotation Ġclass ĠTest 3 ĊĊĠĠĠ Ġinternal Ġclass ĠTest Class Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test 1 ĊĠĠĠĠĠĠĠ Ġval Ġvalue : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ@ Test 2 ĊĠĠĠĠĠĠĠ Ġ@ Test 3 ĊĠĠĠĠĠĠĠ Ġval Ġnumber : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate Map Should Return Single Value Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġannotations Ġ= ĠTest Class :: class . member Properties . first Ġ{ Ġit . name Ġ== Ġ" value " Ġ}. annotations ĊĠĠĠĠĠĠĠ Ġval Ġannotation Map Ġ= Ġannotation Map Builder . create Map ( annotations ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( annotation Map ). has Size ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Merge () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġannotations Ġ= ĠTest Class :: class . member Properties . first (). annotations ĊĠĠĠĠĠĠĠ Ġval Ġannotation Map Ġ= Ġannotation Map Builder . create Map ( annotations ) ĊĊĠĠĠĠĠĠĠ Ġval Ġannotations 2 Ġ= ĠTest Class :: class . member Properties . last (). annotations ĊĠĠĠĠĠĠĠ Ġval Ġannotation Map 2 Ġ= Ġannotation Map Builder . create Map ( annotations 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġannotation Map Builder . merge ( annotation Map , Ġannotation Map 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( result ). has Size ( 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< K , ĠV > ĠassertThat ( actual : ĠMap < K , ĠV >) Ġ= ĠMap Assert ( actual ) Ċ }