package Ġco . yel lo . db . batch light . android sqlite Ċ Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite Statement Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . verify Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠSQLite Binder Config Test Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġsq Lite Database : ĠSQLite Database ĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġcompiled Statement : ĠSQLite Statement ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ= ĠMock K Annotations . init ( this , Ġrelax Unit Fun Ġ= Ġtrue ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġmax Insert Binder Ġreturns Ġa Ġbinder Ġwith Ġthe Ġmaximum Ġnumber Ġof Ġbind s `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġsq Lite Database . compile Statement ("$ insert SQL Ġ(? ),( ?) ") Ġ} Ġreturns Ġcompiled Statement ĊĠĠĠĠĠĠĠ Ġval Ġgenerator Ġ= ĠSQLite Binder Config ( sq Lite Database , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinsert SQL , Ġ 1 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Android SQLite Binder ( compiled Statement ), Ġgenerator . max Insert Binder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġgenerate Binder Ġworks Ġwith Ġcolumn Ġsize Ġof Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġsq Lite Database . compile Statement ("$ insert SQL Ġ( ?) ") Ġ} Ġreturns Ġcompiled Statement ĊĊĠĠĠĠĠĠĠ Ġval Ġgenerator Ġ= ĠSQLite Binder Config ( sq Lite Database , Ġinsert SQL , Ġ 1 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Android SQLite Binder ( compiled Statement ), Ġgenerator . build Binder ( 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġgenerate Statement Ġworks Ġwith Ġcolumn Ġsize Ġgreater Ġthan Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġsq Lite Database . compile Statement ("$ insert SQL Ġ( ?, ? ),( ?, ?) ") Ġ} Ġreturns Ġcompiled Statement ĊĊĠĠĠĠĠĠĠ Ġval Ġgenerator Ġ= ĠSQLite Binder Config ( sq Lite Database , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinsert SQL , Ġ 2 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Android SQLite Binder ( compiled Statement ), Ġgenerator . build Binder ( 2 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" SyntaxError ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġget Replace Generator Ġuses Ġreplace Ġinto Ġto Ġcompile Ġthe Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtableName Ġ= Ġ" Medium Objects " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Sql Ġ= Ġ" REPLACE ĠINTO Ġ$ tableName ĠVALUES Ġ(? )" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġsq Lite Database . compile Statement ( expected Sql ) Ġ} Ġreturns Ġcompiled Statement ĊĊĠĠĠĠĠĠĠ ĠSQLite Binder Config . get Replace Config ( sq Lite Database , ĠtableName , Ġ 1 , Ġ 1 ). max Insert Binder ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġsq Lite Database . compile Statement ( expected Sql ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġget Replace Generator Ġuses Ġinsert Ġinto Ġto Ġcompile Ġthe Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtableName Ġ= Ġ" Medium Objects " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Sql Ġ= Ġ" INSERT ĠINTO Ġ$ tableName ĠVALUES Ġ(? )" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġsq Lite Database . compile Statement ( expected Sql ) Ġ} Ġreturns Ġcompiled Statement ĊĊĠĠĠĠĠĠĠ ĠSQLite Binder Config . get Insert Config ( sq Lite Database , ĠtableName , Ġ 1 , Ġ 1 ). max Insert Binder ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġsq Lite Database . compile Statement ( expected Sql ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġinsert SQL Ġ= Ġ" INSERT ĠINTO ĠTABLE ĠEX AMPLE " ĊĠĠĠ Ġ} Ċ }