23 lines
542 B
OCaml
23 lines
542 B
OCaml
open Ast
|
|
|
|
let parse query =
|
|
let lexbuf = Lexing.from_string query in
|
|
Parser.main Lexer.read_token lexbuf
|
|
|
|
let equal_ast ast1 ast2 =
|
|
ast1 = ast2
|
|
|
|
let query_testable =
|
|
Alcotest.testable Ast.pp_query equal_ast
|
|
|
|
let test_simple_select() =
|
|
let q1 = parse "SELECT a FROM t" in
|
|
let ast1 = Query(Select([Column("a")], [Table("t")])) in
|
|
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) ]
|