ading tests

This commit is contained in:
Simon Petit 2024-12-11 08:32:28 +01:00
parent 0206e0be00
commit 827a7fd1d3

View File

@ -11,11 +11,15 @@ let query_testable =
Alcotest.testable Ast.pp_query equal_ast
let test_simple_select () =
let query = "SELECT a FROM t" in
let query = "SELECT a, b FROM t" in
let q1 = parse query in
let ast1 = Query(
Select(
[
Column(
Ref("b"),
None
);
Column(
Ref("a"),
None
@ -48,24 +52,9 @@ let test_simple_select () =
) in
Alcotest.(check query_testable) query q2 ast2 ;
let query = "SELECT 'a'" in
let query = "SELECT 'b', 'a', DATE '2024-12-25' AS date" in
let q3 = parse query in
let ast3 = Query(
Select(
[
Column(
StringLiteral("a"),
None
)
],
None,
None
)
) in
Alcotest.(check query_testable) query q3 ast3;
let q4 = parse "SELECT DATE '2024-12-25' AS date" in
let ast4 = Query(
Select(
[
Column(
@ -73,13 +62,21 @@ let test_simple_select () =
Some(
As("date")
)
);
Column(
StringLiteral("a"),
None
);
Column(
StringLiteral("b"),
None
)
],
None,
None
)
) in
Alcotest.(check query_testable) "OK" q4 ast4
Alcotest.(check query_testable) query q3 ast3
let test_default_join () =
let q1 = parse "SELECT a FROM t1 JOIN t2 ON b = c" in
@ -337,6 +334,26 @@ let test_where_equals () =
) in
Alcotest.(check query_testable) "Ok" q1 ast1
(*
let test_aggregtes () =
let query = "SELECT AVG(a) FROM t" in
let q1 = parse query in
let ast1 = Query(
Select(
[
],
Some(
[
Table("t")
]
),
None
)
) in
Alcotest.(check query_testable) query q1 ast1
*)
let simple_select_set = [ ("Equals", `Quick, test_simple_select) ]
let simple_join_set = [