package Ġtech . figure . augment Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġtech . figure . augment . db . sql Ċ import Ġtech . figure . augment . dsl . Db Filter Ċ import Ġtech . figure . augment . dsl . Db Source Ċ import Ġtech . figure . augment . dsl . Operator Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠDb Tests Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Filter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠDb Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Ġ= Ġ"_ table _", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns Ġ= ĠlistOf ("_ a _", Ġ"_ b _ "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġ( sql , Ġparams ) Ġ= Ġsql ( source ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" SELECT Ġ\" _ A _ \", Ġ\" _ B _ \" ĠFROM Ġ\" _ TABLE _ \"", Ġsql . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġparams . value . size , Ġ" params Ġis Ġnot Ġnull Ġ= Ġ$ params ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠDb Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Ġ= Ġ"_ table _", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns Ġ= ĠlistOf ("_ a _", Ġ"_ b _ "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= ĠDb Filter ( left Ġ= Ġ"_ left _", Ġright Ġ= Ġ"_ right _", Ġoperator Ġ= ĠOperator . EQUAL ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġ( sql , Ġparams ) Ġ= Ġsql ( source ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" SELECT Ġ\" _ A _ \", Ġ\" _ B _ \" ĠFROM Ġ\" _ TABLE _ \" ĠWHERE Ġ\" _ LEFT _ \" Ġ= Ġ?", Ġsql . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ("_ right _ "), Ġparams . value ) ĊĠĠĠ Ġ} Ċ } Ċ