package Ġpl . to uk . kr ush . embed d able Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . jetbrains . ex posed . sql . Schema Utils Ċ import Ġorg . jetbrains . ex posed . sql . and Ċ import Ġorg . jetbrains . ex posed . sql . lower Case Ċ import Ġorg . jetbrains . ex posed . sql . select Ċ import Ġorg . jetbrains . ex posed . sql . transactions . transaction Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġpl . to uk . kr ush . base . Base Database Test Ċ import Ġpl . to uk . kr ush . embed d able . Address . Invoice Address Ċ Ċ class ĠUser Test Ġ: ĠBase Database Test (){ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Handle Embedded Types () Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Utils . create ( User Table ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontact Address Ġ= ĠAddress . Contact Address ( city Ġ= Ġ" W ars aw ", Ġstreet Ġ= Ġ" A le ja ĠB oh ater Ã³w ĠWr ze ÅĽ nia ", Ġhouse Number Ġ= Ġ 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinvoice Address Ġ= ĠInvoice Address ( city Ġ= Ġ" W ars aw ", Ġstreet Ġ= Ġ" A le je ĠJ ero z ol im sk ie ", Ġhouse Number Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser Table . insert ( User ( contact Address Ġ= Ġcontact Address , Ġinvoice Address Ġ= Ġinvoice Address )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Users Ġ= ĠUser Table ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select Ġ{ Ġ( User Table . contact Address City . lower Case () Ġeq Ġ" w ars aw ") Ġand Ġ( User Table . contact Address House Number Ġgreater Eq Ġ 9 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to UserList () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( selected Users ). contains Only ( user ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ