diff --git a/tests/run_tests.ml b/tests/run_tests.ml index 08cb52d3..6421ed94 100644 --- a/tests/run_tests.ml +++ b/tests/run_tests.ml @@ -6,6 +6,7 @@ let suite = "all_tests" >::: [ Test_pHashtbl.suite; Test_vector.suite; + Test_enum.suite; Test_deque.suite; Test_fHashtbl.suite; Test_fQueue.suite; diff --git a/tests/test_enum.ml b/tests/test_enum.ml new file mode 100644 index 00000000..3f2a835e --- /dev/null +++ b/tests/test_enum.ml @@ -0,0 +1,25 @@ + +open OUnit +open Enum.Infix + +let pint i = string_of_int i + +let test_singleton () = + let e = Enum.singleton 42 in + let gen = Enum.start e in + OUnit.assert_equal 42 (Enum.next gen); + OUnit.assert_raises Enum.EOG (fun () -> Enum.next gen); + OUnit.assert_equal 1 (Enum.length e); + () + +let test_iter () = + let e = 1 -- 10 in + OUnit.assert_equal ~printer:pint 10 (Enum.length e); + (* TODO *) + () + +let suite = + "test_enum" >::: + [ "test_singleton" >:: test_singleton; + "test_iter" >:: test_iter; + ]