diff options
| author | Daniil Baturin <daniil@baturin.org> | 2015-03-01 00:45:42 +0600 |
|---|---|---|
| committer | Daniil Baturin <daniil@baturin.org> | 2015-03-01 00:45:42 +0600 |
| commit | 0bdfaae3f79d23c0fd560b18578043330167a2d3 (patch) | |
| tree | 32e74410fc0ac6924e46f8ef8bf40bfc10ee9094 /test | |
| parent | 1a447ffb0794389fa62231ffb0898b68451c6aba (diff) | |
| download | vyconf-0bdfaae3f79d23c0fd560b18578043330167a2d3.tar.gz vyconf-0bdfaae3f79d23c0fd560b18578043330167a2d3.zip | |
Add get_child and some tests for it.
Diffstat (limited to 'test')
| -rw-r--r-- | test/vyconf_tree_test.ml | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/vyconf_tree_test.ml b/test/vyconf_tree_test.ml index 69efcfc..2bf40be 100644 --- a/test/vyconf_tree_test.ml +++ b/test/vyconf_tree_test.ml @@ -73,6 +73,23 @@ let test_delete_nonexistent test_ctxt = let node = make "root" () in assert_raises Nonexistent_path (fun () -> delete_child node ["foo"; "bar"]) +(* get_child works with immediate children *) +let test_get_immediate_child test_ctxt = + let node = make "root" () in + let node' = insert_child () node ["foo"] () in + assert_equal (name_of_node (get_child node' ["foo"])) "foo" + +(* get_child works with multi-level paths *) +let test_get_child_multilevel test_ctxt = + let node = make "root" () in + let node' = insert_child () node ["foo"; "bar"] () in + assert_equal (name_of_node (get_child node' ["foo"; "bar"])) "bar" + +(* get_child raises Nonexistent_path for non-existent paths *) +let test_get_child_nonexistent test_ctxt = + let node = make "root" () in + assert_raises Nonexistent_path (fun () -> get_child node ["foo"; "bar"]) + let suite = "VyConf tree tests" >::: [ "test_make_node" >:: test_make_node; @@ -84,6 +101,8 @@ let suite = "test_delete_immediate_child" >:: test_delete_immediate_child; "test_delete_multi_level" >:: test_delete_multi_level; "test_delete_nonexistent" >:: test_delete_nonexistent; + "test_get_immediate_child" >:: test_get_immediate_child; + "test_get_child_multilevel" >:: test_get_child_multilevel; ] let () = |
