From 827a7fd1d3f34da4ba6996ec94ab56f571e7b71e Mon Sep 17 00:00:00 2001 From: Simon Petit Date: Wed, 11 Dec 2024 08:32:28 +0100 Subject: [PATCH] ading tests --- test/test_ast.ml | 55 +++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/test/test_ast.ml b/test/test_ast.ml index 5e56e1b..c1cb3e8 100644 --- a/test/test_ast.ml +++ b/test/test_ast.ml @@ -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,14 +62,22 @@ 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 let ast1 = Query( @@ -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 = [