From 6b377719c10d5ab3343fd5221f99a4a21008e25a Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Thu, 14 Mar 2024 08:26:58 +0100 Subject: Initial commit --- tests/expression_repr.ml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/expression_repr.ml (limited to 'tests/expression_repr.ml') diff --git a/tests/expression_repr.ml b/tests/expression_repr.ml new file mode 100644 index 0000000..9ad321a --- /dev/null +++ b/tests/expression_repr.ml @@ -0,0 +1,37 @@ +open OUnit2 +module Expression = ImportExpression.T +module Path = ImportDataTypes.Path +module Expr = Expression_builder +module M = Expr.Make (ImportExpression.Repr.E) + +let eval = M.eval ~path_repr:ImportCSV.Csv.column_to_string +let test_expr expr = ImportExpression.Repr.E.observe ~top:true expr + +let printer = function + | Ok e -> ImportConf.print_path_expression e + | Error msg -> msg + +let print_literal = + "print_litteral" >:: fun _ -> + let result = test_expr @@ eval (Literal "Content") in + assert_equal ~printer:Fun.id "'Content'" result + +let print_quoted_literal = + "print_quoted_literal" >:: fun _ -> + let result = test_expr @@ eval Expression_builder.literal_quoted in + assert_equal ~printer:Fun.id "'\\''" result + +let print_dquoted_literal = + "print_dquoted_literal" >:: fun _ -> + let result = test_expr @@ eval (Literal "\"") in + assert_equal ~printer:Fun.id "'\"'" result + +let print_numeric = + "print_numeric" >:: fun _ -> + let result = test_expr @@ eval (Literal "123") in + assert_equal ~printer:Fun.id "123" result + +let test_suit = + [ print_literal; print_quoted_literal; print_dquoted_literal; print_numeric ] + +let tests = "expression_repr" >::: test_suit -- cgit v1.2.3