ocaml_sql_parser/test/test_logical_plan.ml

39 lines
741 B
OCaml

open Logical_plan
let logical_plan_testable =
let pp_format fmt plan =
Format.fprintf fmt "%s" (Logical_plan.pp_logical_plan plan)
in
Alcotest.testable pp_format (=)
let test_simple_select () =
let ast1 =
Ast.Select(
[
Ast.Column(
Ast.StringLiteral("string"),
None
)
],
Ast.TableExpression(
None,
None,
None
)
)
in
let plan1 = ast_to_logical ast1 in
let plan2 =
Project(None, ["string"])
in
Alcotest.(check logical_plan_testable) "ok" plan1 plan2
let simple_select_set = [ ("Equals", `Quick, test_simple_select) ]
let () =
Alcotest.run "Logical plan tests"
[
("Simple Selects", simple_select_set)
]