summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2019-02-14 23:41:19 +0100
committerDaniil Baturin <daniil@baturin.org>2019-02-14 23:41:19 +0100
commitb76125fe449daa259c1aacad2c21c0681a39d3f9 (patch)
tree480fe851baaf4290bc139edd8a63dc955504ae18 /test
parent0c8c53c9c6ea154e16855715291a237824f70443 (diff)
downloadvyconf-b76125fe449daa259c1aacad2c21c0681a39d3f9.tar.gz
vyconf-b76125fe449daa259c1aacad2c21c0681a39d3f9.zip
Add functions for copying and moving nodes.
Diffstat (limited to 'test')
-rw-r--r--test/vytree_test.ml29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/vytree_test.ml b/test/vytree_test.ml
index 23c52ce..6133fb3 100644
--- a/test/vytree_test.ml
+++ b/test/vytree_test.ml
@@ -164,6 +164,32 @@ let test_merge_children_has_duplicates test_ctxt =
assert_equal (list_children node') ["foo"; "quux"];
assert_equal (get node' ["foo"] |> list_children) ["bar"; "baz"]
+let test_copy test_ctxt =
+ let node = make 0 "root" in
+ let node = insert node ["foo"] 1 in
+ let node = insert node ["foo"; "bar"] 1 in
+ let node = copy node ["foo"] ["quux"] in
+ assert_equal (list_children node) ["foo"; "quux"];
+ assert_equal (get node ["quux"] |> list_children) ["bar"]
+
+let test_move_before test_ctxt =
+ let node = make 0 "root" in
+ let node = insert node ["foo"] 1 in
+ let node = insert ~position:End node ["bar"] 1 in
+ let node = insert node ["bar"; "quux"] 1 in
+ let node = move node ["bar"] (Before "foo") in
+ assert_equal (list_children node) ["bar"; "foo"];
+ assert_equal (get node ["bar"] |> list_children) ["quux"]
+
+let test_move_after test_ctxt =
+ let node = make 0 "root" in
+ let node = insert node ["bar"] 1 in
+ let node = insert node ["bar"; "quux"] 1 in
+ let node = insert ~position:End node ["foo"] 1 in
+ let node = move node ["bar"] (After "foo") in
+ assert_equal (list_children node) ["foo"; "bar"];
+ assert_equal (get node ["bar"] |> list_children) ["quux"]
+
let suite =
"VyConf tree tests" >::: [
"test_make_node" >:: test_make_node;
@@ -187,6 +213,9 @@ let suite =
"test_get_data" >:: test_get_data;
"test_merge_children_has_duplicates" >:: test_merge_children_has_duplicates;
"test_merge_children_no_duplicates" >:: test_merge_children_no_duplicates;
+ "test_copy" >:: test_copy;
+ "test_move_before" >:: test_move_before;
+ "test_move_after" >:: test_move_after;
]
let () =