import org.junit.Test;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import static org.junit.Assert.*;
public class TreeToLinkedListTest {
private List<BinaryTree<Integer>> expected;
private BinaryTree<Integer> tree;
@Test
public void createListOfLeaves1() throws Exception {
tree = BinaryTreeUtil.getEvenTree();
expected = new LinkedList<>(
Arrays.asList(
tree.left,
tree.right)
);
test(expected, tree);
}
@Test
public void createListOfLeaves2() throws Exception {
tree = BinaryTreeUtil.getFullTree();
expected = new LinkedList<>(
Arrays.asList(
tree.left.left,
tree.left.right,
tree.right.left,
tree.right.right)
);
test(expected, tree);
}
@Test
public void createListOfLeaves3() throws Exception {
tree = BinaryTreeUtil.getFigureTenDotOne();
expected = new LinkedList<>(
Arrays.asList(
tree.left.left.left,
tree.left.left.right,
tree.left.right.right.left,
tree.right.left.right.left.right,
tree.right.left.right.right,
tree.right.right.right)
);
test(expected, tree);
}
private void test(List<BinaryTree<Integer>> expected, BinaryTree<Integer> tree) {
assertEquals(expected,TreeToLinkedList.createListOfLeaves(tree));
}
}