package Ġcom . squareup . sql de light . core . util Ċ Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . squareup . sql de light . core . lang . util . raw Sql Text Ċ import Ġcom . squareup . sql de light . test . util . Fixture Compiler Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . rules . Temporary Folder Ċ Ċ class ĠTree Util Test Ġ{ ĊĠ Ġ@ get : Rule Ġval Ġtemporary Folder Ġ= ĠTemporary Folder () ĊĊĠ Ġ@ Test Ġfun Ġ` raw Sql Text Ġremoves ĠAS Ġmodifier `() Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFix ture Compiler . parse Sql (""" ĊĠĠĠĠĠ Ġ| CREATE ĠTABLE Ġtest Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT ĠAS Ġkotlin . collections . List < Int >, ĊĠĠĠĠĠ Ġ| Ġ Ġother _ value ĠTEXT ĠAS ĠInt , ĊĠĠĠĠĠ Ġ| Ġ Ġa _ third _ value ĠINTEGER ĠAS ĠBoolean ĠDEFAULT Ġ 0 ĊĠĠĠĠĠ Ġ| ); ĊĠĠĠ Ġ""" . trim Margin (), Ġtemporary Folder ) ĊĊĠĠĠ Ġval Ġcreate Table Ġ= Ġfile . sqlite Statements (). first (). statement . createTable Stmt !! ĊĊĠĠĠ ĠassertThat ( createTable . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| CREATE ĠTABLE Ġtest Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT , ĊĠĠĠĠĠ Ġ| Ġ Ġother _ value ĠTEXT , ĊĠĠĠĠĠ Ġ| Ġ Ġa _ third _ value ĠINTEGER ĠDEFAULT Ġ 0 ĊĠĠĠĠĠ Ġ| ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġ` raw Sql Text Ġreplaces Ġinsert Ġbind Ġparam Ġwith Ġcolumns Ġbeing Ġinserted `() Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFix ture Compiler . parse Sql (""" ĊĠĠĠĠĠ Ġ| CREATE ĠTABLE Ġtest Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT ĠAS Ġkotlin . collections . List < Int >, ĊĠĠĠĠĠ Ġ| Ġ Ġother _ value ĠTEXT ĠAS ĠInt , ĊĠĠĠĠĠ Ġ| Ġ Ġa _ third _ value ĠINTEGER ĠAS ĠBoolean ĠDEFAULT Ġ 0 ĊĠĠĠĠĠ Ġ| ); ĊĠĠĠĠĠ Ġ| ĊĠĠĠĠĠ Ġ| INSERT ĠINTO Ġtest Ġ( value , Ġother _ value ) ĊĠĠĠĠĠ Ġ| VALUES Ġ? ; ĊĠĠĠĠĠ Ġ| ĊĠĠĠĠĠ Ġ| INSERT ĠINTO Ġtest ĊĠĠĠĠĠ Ġ| VALUES Ġ? ; ĊĠĠĠ Ġ""" . trim Margin (), Ġtemporary Folder ) ĊĊĠĠĠ Ġval Ġinsert 1 Ġ= Ġfile . sqlite Statements (). elementAt ( 1 ). statement . insert Stmt !! ĊĊĠĠĠ ĠassertThat ( insert 1 . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| INSERT ĠINTO Ġtest Ġ( value , Ġother _ value ) ĊĠĠĠĠĠ Ġ| VALUES Ġ( ?, Ġ? ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĊĠĠĠ Ġval Ġinsert 2 Ġ= Ġfile . sqlite Statements (). elementAt ( 2 ). statement . insert Stmt !! ĊĊĠĠĠ ĠassertThat ( insert 2 . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| INSERT ĠINTO Ġtest ĊĠĠĠĠĠ Ġ| VALUES Ġ( ?, Ġ?, Ġ? ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġ` raw Sql Text Ġremoves Ġtype Ġfor Ġf ts 5 `() Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFix ture Compiler . parse Sql (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING Ġf ts 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ); ĊĠĠĠ Ġ""" . trim Margin (), Ġtemporary Folder ) ĊĊĠĠĠ Ġval Ġcreate Table Ġ= Ġfile . sqlite Statements (). first (). statement . create Virtual Table Stmt !! ĊĊĠĠĠ ĠassertThat ( createTable . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING Ġf ts 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġ` raw Sql Text Ġremoves Ġtype Ġand Ġconstraints Ġfor Ġf ts 5 `() Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFix ture Compiler . parse Sql (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING Ġf ts 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT ĠNOT ĠNULL , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ); ĊĠĠĠ Ġ""" . trim Margin (), Ġtemporary Folder ) ĊĊĠĠĠ Ġval Ġcreate Table Ġ= Ġfile . sqlite Statements (). first (). statement . create Virtual Table Stmt !! ĊĊĠĠĠ ĠassertThat ( createTable . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING Ġf ts 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġ` raw Sql Text Ġpers ists ĠUN INDEX ED Ġcolumn Ġoption `() Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFix ture Compiler . parse Sql (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING Ġf ts 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT ĠNOT ĠNULL ĠUN INDEX ED , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ); ĊĠĠĠ Ġ""" . trim Margin (), Ġtemporary Folder ) ĊĊĠĠĠ Ġval Ġcreate Table Ġ= Ġfile . sqlite Statements (). first (). statement . create Virtual Table Stmt !! ĊĊĠĠĠ ĠassertThat ( createTable . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING Ġf ts 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠUN INDEX ED , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test Ġfun Ġ` raw Sql Text Ġremoves Ġtype Ġand Ġconstraints Ġfor ĠF TS 5 `() Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFix ture Compiler . parse Sql (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING ĠF TS 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue ĠTEXT ĠNOT ĠNULL , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ); ĊĠĠĠ Ġ""" . trim Margin (), Ġtemporary Folder ) ĊĊĠĠĠ Ġval Ġcreate Table Ġ= Ġfile . sqlite Statements (). first (). statement . create Virtual Table Stmt !! ĊĊĠĠĠ ĠassertThat ( createTable . raw Sql Text ()). isEqualTo (""" ĊĠĠĠĠĠ Ġ| CREATE ĠV IRTUAL ĠTABLE Ġdata ĠUSING ĠF TS 5 Ġ( ĊĠĠĠĠĠ Ġ| Ġ Ġvalue , ĊĠĠĠĠĠ Ġ| Ġ Ġprefix =' 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 ' ĊĠĠĠĠĠ Ġ| ) ĊĠĠĠ Ġ""" . trim Margin ()) ĊĠ Ġ} Ċ } Ċ