package Ġcom . coding jj . json db converter Ċ Ċ import Ġcom . coding jj . json db converter . database .* Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġjava . util .* Ċ Ċ @ SpringBootTest ( classes Ġ= Ġ[ Spring Enable Auto Configuration :: class ]) Ċ internal Ġclass ĠJson Jdbc Configuration Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġjson Tbl Repository : ĠJson Tbl Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġjsonb Tbl Repository : ĠJson b Tbl Repository ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠType Json Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ null _ d tos () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Tbl Entity Ġ= ĠJson Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ null _ d tos ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Tbl Repository . save ( json Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjson Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ null _ d tos ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ some 1 Dto _ set () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 1 Dto Ġ= ĠSome 1 Dto (" hello ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Tbl Entity Ġ= ĠJson Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ some 1 Dto _ set ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 1 Dto , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Tbl Repository . save ( json Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjson Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ some 1 Dto _ set ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isEqualTo ( some 1 Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ some 2 Dto _ set () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 2 Dto Ġ= ĠSome 2 Dto (" f 1 ", Ġ" f 2 ", Ġ" f 3 ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Tbl Entity Ġ= ĠJson Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ some 2 Dto _ set ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 2 Dto ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Tbl Repository . save ( json Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjson Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ some 2 Dto _ set ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isEqualTo ( some 2 Dto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ both _ d tos _ set () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 1 Dto Ġ= ĠSome 1 Dto (" hello ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 2 Dto Ġ= ĠSome 2 Dto (" f 1 ", Ġ" f 2 ", Ġ" f 3 ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Tbl Entity Ġ= ĠJson Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ both _ d tos _ set ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 1 Dto , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 2 Dto ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson Tbl Repository . save ( json Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjson Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ both _ d tos _ set ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isEqualTo ( some 1 Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isEqualTo ( some 2 Dto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠType Json b Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ null _ d tos () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjsonb Tbl Entity Ġ= ĠJson b Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ null _ d tos ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjsonb Tbl Repository . save ( json b Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjsonb Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ null _ d tos ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ some 1 Dto _ set () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 1 Dto Ġ= ĠSome 1 Dto (" hello ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjsonb Tbl Entity Ġ= ĠJson b Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ some 1 Dto _ set ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 1 Dto , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjsonb Tbl Repository . save ( json b Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjsonb Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ some 1 Dto _ set ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isEqualTo ( some 1 Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ some 2 Dto _ set () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 2 Dto Ġ= ĠSome 2 Dto (" f 1 ", Ġ" f 2 ", Ġ" f 3 ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjsonb Tbl Entity Ġ= ĠJson b Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ some 2 Dto _ set ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 2 Dto ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjsonb Tbl Repository . save ( json b Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjsonb Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ some 2 Dto _ set ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isEqualTo ( some 2 Dto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġinsert _ data _ with _ both _ d tos _ set () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 1 Dto Ġ= ĠSome 1 Dto (" hello ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsome 2 Dto Ġ= ĠSome 2 Dto (" f 1 ", Ġ" f 2 ", Ġ" f 3 ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjsonb Tbl Entity Ġ= ĠJson b Tbl Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" insert _ data _ with _ both _ d tos _ set ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 1 Dto , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome 2 Dto ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjsonb Tbl Repository . save ( json b Tbl Entity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġjsonb Tbl Repository . findById ( id ). orElse ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . id ). isEqualTo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . version ). isEqualTo ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . name ). isEqualTo (" insert _ data _ with _ both _ d tos _ set ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 1 Dto ). isEqualTo ( some 1 Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual . some 2 Dto ). isEqualTo ( some 2 Dto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }