120 lines
2.6 KiB
Java
Raw Normal View History

package com.baeldung.tree;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class BinaryTreeTest {
@Test
2017-12-09 11:20:14 +01:00
public void givenABinaryTree_WhenAddingElements_ThenTreeNotEmpty() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
assertTrue(!bt.isEmpty());
}
@Test
2017-12-09 11:20:14 +01:00
public void givenABinaryTree_WhenAddingElements_ThenTreeContainsThoseElements() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
assertTrue(bt.containsNode(6));
assertTrue(bt.containsNode(4));
assertFalse(bt.containsNode(1));
}
@Test
public void givenABinaryTree_WhenAddingExistingElement_ThenElementIsNotAdded() {
BinaryTree bt = createBinaryTree();
int initialSize = bt.getSize();
assertTrue(bt.containsNode(3));
bt.add(3);
assertEquals(initialSize, bt.getSize());
}
@Test
public void givenABinaryTree_WhenLookingForNonExistingElement_ThenReturnsFalse() {
BinaryTree bt = createBinaryTree();
assertFalse(bt.containsNode(99));
}
@Test
public void givenABinaryTree_WhenDeletingElements_ThenTreeDoesNotContainThoseElements() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
assertTrue(bt.containsNode(9));
bt.delete(9);
assertFalse(bt.containsNode(9));
}
@Test
public void givenABinaryTree_WhenDeletingNonExistingElement_ThenTreeDoesNotDelete() {
BinaryTree bt = createBinaryTree();
int initialSize = bt.getSize();
assertFalse(bt.containsNode(99));
bt.delete(99);
assertFalse(bt.containsNode(99));
assertEquals(initialSize, bt.getSize());
}
@Test
public void givenABinaryTree_WhenTraversingInOrder_ThenPrintValues() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
bt.traverseInOrder(bt.root);
}
@Test
public void givenABinaryTree_WhenTraversingPreOrder_ThenPrintValues() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
bt.traversePreOrder(bt.root);
}
@Test
public void givenABinaryTree_WhenTraversingPostOrder_ThenPrintValues() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
bt.traversePostOrder(bt.root);
}
@Test
public void givenABinaryTree_WhenTraversingLevelOrder_ThenPrintValues() {
2017-12-10 19:27:45 +01:00
BinaryTree bt = createBinaryTree();
bt.traverseLevelOrder();
}
private BinaryTree createBinaryTree() {
BinaryTree bt = new BinaryTree();
bt.add(6);
bt.add(4);
bt.add(8);
bt.add(3);
bt.add(5);
bt.add(7);
bt.add(9);
2017-12-10 19:27:45 +01:00
return bt;
}
}