1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
open OUnit
(*
* This test shows how brackets can be used. They are handy to create
* a so called fixture, which can be used for multiple tests
*)
(* prepare a stack for test *)
let setup _ =
let s = Stack.create () in
Stack.push 1 s;
Stack.push 2 s;
Stack.push 3 s;
s
let teardown _ =
()
let test_top stack =
assert_equal 3 (Stack.top stack)
let test_clear stack =
Stack.clear stack;
assert_raises Stack.Empty (fun _ -> Stack.top stack)
let test_pop stack =
assert_equal 3 (Stack.pop stack);
assert_equal 2 (Stack.pop stack);
assert_equal 1 (Stack.pop stack);
assert_raises Stack.Empty (fun _ -> Stack.pop stack)
let suite = "Test Stack" >:::
["test_top" >:: (bracket setup test_top teardown);
"test_clear" >:: (bracket setup test_clear teardown);
"test_pop" >:: (bracket setup test_pop teardown)]
|