1 package org.onap.vid.utils;
3 import com.google.common.collect.ImmutableList;
4 import org.jetbrains.annotations.NotNull;
5 import org.testng.annotations.DataProvider;
6 import org.testng.annotations.Test;
10 import static org.junit.Assert.assertFalse;
11 import static org.testng.Assert.*;
13 public class TreeTest {
16 protected Tree<String> buildTreeForTest() {
17 Tree<String> tree = new Tree<>("a");
18 tree.addPath("b","c","d");
19 tree.addPath("b","cc","dd");
20 tree.addPath("1","2","dd");
25 public static Object[][] pathsToFind() {
26 return new Object[][]{
27 {ImmutableList.of("b","c","d"), true},
28 {ImmutableList.of("b","c"), true},
29 {ImmutableList.of("b","cc","dd"), true},
30 {ImmutableList.of("b","cc","d"), false},
31 {ImmutableList.of("1","2","dd"), true},
32 {ImmutableList.of("b"), true},
33 {ImmutableList.of("c"), false},
34 {ImmutableList.of("z", "z", "z", "z", "z"), false},
38 @Test(dataProvider="pathsToFind")
39 public void whenBuildTree_nodesFoundsInRoute(List<String> path, boolean isFound) {
40 Tree<String> tree = buildTreeForTest();
41 assertEquals(isFound, tree.isPathExist(path));
44 @Test(dataProvider="pathsToFind")
45 public void whenBuildTree_subTreeGetRight(List<String> path, boolean isFound) {
46 Tree<String> tree = buildTreeForTest();
48 assertNotNull(tree.getSubTree(path));
51 assertNull(tree.getSubTree(path));
56 public void whenBuildTree_getSubTreeAsExpected() {
57 Tree<String> tree = buildTreeForTest();
58 Tree<String> subTree = tree.getSubTree("b","c");
59 assertEquals(subTree.getRootValue(), "c");
60 assertTrue(subTree.isPathExist("d"));
61 assertFalse(subTree.isPathExist("b","c","d"));