summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2015-06-03 13:51:25 +0600
committerDaniil Baturin <daniil@baturin.org>2015-06-03 13:51:25 +0600
commit74132f616269e0de282354dec602d494455da4dc (patch)
treeb7584be9eaef6b5c275ac81dafe3ac7e079a577a /test
parentcfb1d2c4385554325e9e23ab43745d5d8fc4e7e9 (diff)
downloadvyconf-74132f616269e0de282354dec602d494455da4dc.tar.gz
vyconf-74132f616269e0de282354dec602d494455da4dc.zip
Make tree insert position-aware.
Make insertion at the beginning default behaviour. Implement insertion at the end.
Diffstat (limited to 'test')
-rw-r--r--test/vytree_test.ml13
1 files changed, 11 insertions, 2 deletions
diff --git a/test/vytree_test.ml b/test/vytree_test.ml
index 24a6d1e..86a6269 100644
--- a/test/vytree_test.ml
+++ b/test/vytree_test.ml
@@ -21,8 +21,8 @@ let test_insert_immediate_child test_ctxt =
assert_equal (children_of_node node')
[make () "foo"]
-(* Inserting one child after another adds it to the
- end of the children list *)
+(* Inserting one child after another works.
+ The default behaviour is to insert new items at the beginning. *)
let test_insert_multiple_children test_ctxt =
let node = make () "root" in
let node' = insert node ["foo"] () in
@@ -47,6 +47,14 @@ let test_insert_duplicate_child test_ctxt =
let node = insert node ["foo"] () in
assert_raises Duplicate_child (fun () -> insert node ["foo"] ())
+(* Inserting a child at the end works *)
+let test_insert_multiple_children_end test_ctxt =
+ let node = make () "root" in
+ let node = insert node ["foo"] () in
+ let node = insert ~position:End node ["bar"] () in
+ assert_equal (children_of_node node)
+ [make () "foo"; make () "bar"]
+
(* list_children correctly returns a list of children names *)
let test_list_children test_ctxt =
let node = make () "root" in
@@ -126,6 +134,7 @@ let suite =
"test_insert_multiple_children" >:: test_insert_multiple_children;
"test_insert_multi_level" >:: test_insert_multi_level;
"test_insert_duplicate_child" >:: test_insert_duplicate_child;
+ "test_insert_multiple_children_end" >:: test_insert_multiple_children_end;
"test_list_children" >:: test_list_children;
"test_delete_immediate_child" >:: test_delete_immediate_child;
"test_delete_multi_level" >:: test_delete_multi_level;