BAEL -1339 Implement a binary tree in Java (#3301)

* edge cases binary tree

* code cleanup
This commit is contained in:
Marcos Lopez Gonzalez
2017-12-28 13:16:38 +01:00
committed by Grzegorz Piwowarek
parent 0a76081ac3
commit 5e25e2c3ea
2 changed files with 55 additions and 12 deletions

View File

@@ -1,5 +1,6 @@
package com.baeldung.tree;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -26,6 +27,26 @@ public class BinaryTreeTest {
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() {
@@ -36,6 +57,19 @@ public class BinaryTreeTest {
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() {