OSDN Git Service

implements tag out
[happyabc/happyabc.git] / swflib / revListTest.ml
1 open Base
2 open RevList
3 open OUnit
4
5 let _ =
6   ("ISet" >::: [
7      "index is immutable" >::
8        (fun () ->
9           let set1 =
10             RevList.add 0 empty in
11           let set2 =
12             RevList.add 1 set1 in
13               assert_equal (index 0 set1) (RevList.index 0 set2));
14      "mem" >::
15        (fun () ->
16           assert_equal false (RevList.mem 0 empty);
17           assert_equal true  (RevList.mem 0 (RevList.add 0 empty)));
18      "index" >::
19        (fun () ->
20           let set =
21             RevList.add 42 empty in
22             assert_equal 0 (RevList.index 42 set));
23      "to_list" >::
24        (fun () ->
25           let set1 =
26             RevList.add 42 empty in
27           let set2 =
28             RevList.add 0 set1 in
29             assert_equal [42;0] (RevList.to_list set2));
30      "add_list" >::
31        (fun () ->
32           let set1 =
33             RevList.add_list [1;2;3] empty in
34           let set2 =
35             RevList.add 3 (RevList.add 2 (RevList.add 1 empty)) in
36             assert_equal set1 set2)
37    ]) +> run_test_tt_main