package Ġdev . tm soft . lib . ex posed Ċ Ċ import Ġdev . tm soft . lib . ex posed . type . Json B Contains Ċ import Ġdev . tm soft . lib . ex posed . type . json b Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . builtins . List Serializer Ċ import Ġorg . jetbrains . ex posed . dao . id . Int Id Table Ċ import Ġorg . jetbrains . ex posed . sql . Schema Utils Ċ import Ġorg . jetbrains . ex posed . sql . insert Ċ import Ġorg . jetbrains . ex posed . sql . select Ċ import Ġorg . jetbrains . ex posed . sql . selectAll Ċ import Ġorg . jetbrains . ex posed . sql . transactions . transaction Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠJson B Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcolumn () Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction ( test Database ) Ġ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Utils . create ( Json B Table ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson B Table . insert Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ name ] Ġ= Ġ" test " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ content ] Ġ= ĠlistOf ( Content (" content ", Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĠJson B Table . selectAll (). first (). let Ġ{ Ġit [ Json B Table . content ]. first (). name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" content ", Ġcontent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Utils . drop ( Json B Table ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġselect () Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction ( test Database ) Ġ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Utils . create ( Json B Table ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson B Table . insert Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ name ] Ġ= Ġ" test " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [ content ] Ġ= ĠlistOf ( Content (" content ", Ġ 1 ), ĠContent (" content ", Ġ 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson B Table . select Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson B Contains ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson B Table . content , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson B Table . content . wrap ( listOf ( Content (" content ", Ġ 1 ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. single () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġit [ Json B Table . content ]. first (). name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" content ", Ġcontent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Utils . drop ( Json B Table ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠJson B Table Ġ: ĠInt Id Table (" test _ json b ") Ġ{ ĊĠĠĠ Ġval Ġname Ġ= Ġvarchar (" account ", Ġ 2 5 5 ). nullable () ĊĠĠĠ Ġval Ġcontent Ġ= Ġjsonb (" current _ content ", ĠList Serializer ( Content . serializer ())) Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠContent ( val Ġname : ĠString , Ġval Ġorder : ĠInt ) Ċ