package Ġcom . github . ray m ank 2 6 . csv sh Ċ Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* ĠDate : Ġ 2 0 1 9 - 0 5 - 1 1 . Ċ Ġ*/ Ċ class ĠSql Grammar Test Ġ: ĠSql TestUtils () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Simple Select () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġa ĠFROM Ġ' b '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Select With Where () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġa ĠFROM Ġ' b ' ĠWHERE Ġa Ġ< Ġ 5 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Select With Where 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġa ĠFROM Ġ' 5 ' ĠWHERE Ġa Ġ< Ġ 5 ĠAND Ġb Ġ> Ġ 4 ĠOR Ġb ĠLIKE Ġ' 5 '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Select With Where 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġ* ĠFROM Ġ' a ' ĠWHERE Ġ( a ĠIN Ġ( 1 , 2 , 3 ) ĠAND Ġ 5 Ġ= Ġ 5 ) ĠOR Ġ 4 Ġ= Ġ 4 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Describe Select () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" DESCR IBE ĠSELECT Ġ* ĠFROM Ġ' a ' ĠWHERE Ġ( a ĠIN Ġ( 1 , 2 , 3 ) ĠAND Ġ 5 Ġ= Ġ 5 ) ĠOR Ġ 4 Ġ= Ġ 4 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Describe Select Negative () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġ* ĠFROM Ġ' a ' ĠWHERE Ġ( a ĠNOT ĠIN Ġ( 1 , 2 , 3 ) ĠAND Ġ 5 Ġ<> Ġ 5 ) ĠOR Ġ 4 Ġ<> Ġ 4 ĠOR Ġb ĠNOT ĠLIKE Ġ' foo '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Index () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" CREATE ĠINDEX ĠF OO ĠON Ġ' foo ' Ġ( a )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Drop Index () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" DROP ĠINDEX ĠF OO ĠON Ġ' foo '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Describe () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" DESCR IBE ĠTABLE Ġ' foo '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest EmptyString () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" select Ġ* Ġfrom Ġ' a ' Ġwhere Ġb Ġ= Ġ'' ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠException :: class ) ĊĠĠĠ Ġfun Ġtest Failure () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" select Ġa ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠException :: class ) ĊĠĠĠ Ġfun Ġtest Failure Unrecognized Token () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġ* ĠFROM Ġ' a ' ĠWHERE Ġround Ġ= Ġ' seed ' ĠAND Ġstate Ġ!= Ġ' CA '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Select Count () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġcount (*) ĠFROM Ġ' a '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Lower case () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" select Ġa Ġfrom Ġ' b '") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Whitespace String () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Parser (" SELECT Ġ* ĠFROM Ġ' a ' ĠWHERE Ġartist ĠLIKE Ġ'% ĠEn semble '") ĊĠĠĠ Ġ} Ċ }