adding alcotest testing suite
This commit is contained in:
parent
35b5c1b41b
commit
cc8540e4f4
@ -40,9 +40,10 @@ and search_condition =
|
|||||||
| Search of string
|
| Search of string
|
||||||
|
|
||||||
|
|
||||||
let rec pp_query ast =
|
|
||||||
|
let rec pp_query fmt ast =
|
||||||
match ast with
|
match ast with
|
||||||
| Query(s) -> pp_select s
|
| Query(s) -> Format.fprintf fmt "%s" (pp_select s)
|
||||||
|
|
||||||
and pp_select s =
|
and pp_select s =
|
||||||
match s with
|
match s with
|
||||||
@ -79,3 +80,5 @@ and pp_join_type j =
|
|||||||
| Cross -> "cross"
|
| Cross -> "cross"
|
||||||
| Union -> "union"
|
| Union -> "union"
|
||||||
| Natural -> "natural"
|
| Natural -> "natural"
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
(name logical_plan_test)
|
(name logical_plan_test)
|
||||||
(libraries ast logical_plan))
|
(libraries ast logical_plan))
|
||||||
|
|
||||||
|
(test
|
||||||
|
(name test_ast)
|
||||||
|
(libraries parser lexer ast alcotest))
|
||||||
|
|
||||||
|
|
||||||
(test
|
(test
|
||||||
(name test_parquet)
|
(name test_parquet)
|
||||||
|
@ -7,9 +7,16 @@ let parse query =
|
|||||||
let equal_ast ast1 ast2 =
|
let equal_ast ast1 ast2 =
|
||||||
ast1 = ast2
|
ast1 = ast2
|
||||||
|
|
||||||
let
|
let query_testable =
|
||||||
|
Alcotest.testable Ast.pp_query equal_ast
|
||||||
|
|
||||||
let test_simple_select() =
|
let test_simple_select() =
|
||||||
let q1 = parse "SELECT a FROM t" in
|
let q1 = parse "SELECT a FROM t" in
|
||||||
let ast1 = Query(Select([Column("a")], [Table("t")])) in
|
let ast1 = Query(Select([Column("a")], [Table("t")])) in
|
||||||
Alcotest.(check
|
Alcotest.(check query_testable) "Ok" q1 ast1
|
||||||
|
|
||||||
|
let simple_select_set = [ ("Equals", `Quick, test_simple_select) ]
|
||||||
|
|
||||||
|
let () =
|
||||||
|
Alcotest.run "Ast tests"
|
||||||
|
[ ("Simple Selects", simple_select_set) ]
|
||||||
|
Loading…
Reference in New Issue
Block a user