Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import static org.hamcrest.CoreMatchers.is;
- import static org.hamcrest.CoreMatchers.nullValue;
- import static org.hamcrest.MatcherAssert.assertThat;
- import static org.hamcrest.core.IsNull.notNullValue;
- import java.util.List;
- import org.junit.Test;
- public class BinaryTreeTest {
- BinaryTree tree = new BinaryTree();
- @Test
- public void treeShouldReceiveOnlyNodeValueAsInput() {
- tree.insert(5);
- assertThat("If no root defined, new node should become root", tree.getRoot().getValue(), is(notNullValue()));
- }
- @Test
- public void inputValueMustBeNumeric() {
- tree.insert(5);
- }
- @Test
- public void testTreeInsertion() {
- tree.insert(5);
- tree.insert(3);
- tree.insert(6);
- Node node = tree.find(5);
- assertThat("root node should contains second node as left children", node.getLeft().getValue(), is(3));
- assertThat("root node should contains second node as right children", node.getRight().getValue(), is(6));
- }
- @Test
- public void treeMustInsertNodesNoToRootOnly() {
- tree.insert(5);
- tree.insert(3);
- tree.insert(6);
- tree.insert(12);
- Node node = tree.find(6);
- assertThat("root node should contains second node as right children", node.getRight().getValue(), is(12));
- }
- @Test
- public void treeMustReturnNullIfThereIsNoSuchNode() {
- tree.insert(5);
- tree.insert(3);
- tree.insert(6);
- tree.insert(12);
- Node node = tree.find(24);
- assertThat("node should be null", node, is(nullValue()));
- }
- @Test
- public void treeMustHaveFindMaxMethod() {
- assertThat("in empty tree it should be zero", tree.findMax() , is(0));
- tree.insert(5);
- tree.insert(3);
- tree.insert(6);
- tree.insert(12);
- assertThat("should be 12", tree.findMax() , is(12));
- }
- @Test
- public void treeMustHaveMinimumMethod() {
- assertThat("in empty tree it should be zero", tree.findMin() , is(0));
- tree.insert(5);
- tree.insert(3);
- tree.insert(6);
- tree.insert(12);
- assertThat("should be 3", tree.findMin() , is(3));
- }
- @Test
- public void traverseTree() {
- tree.insert(5);
- tree.insert(3);
- tree.insert(6);
- List<Node> inOrderNodes = tree.traverseInOrder();
- List<Node> preOrderNodes = tree.traversePreOrder();
- List<Node> postOrderNodes = tree.traverPostOrder();
- assertThat("in order nodes", inOrderNodes.get(0).getValue(), is(5));
- assertThat("in order nodes", inOrderNodes.get(1).getValue(), is(3));
- assertThat("in order nodes", inOrderNodes.get(2).getValue(), is(6));
- assertThat("pre order nodes", preOrderNodes.get(0).getValue(), is(3));
- assertThat("pre order nodes", preOrderNodes.get(1).getValue(), is(6));
- assertThat("pre order nodes", preOrderNodes.get(2).getValue(), is(5));
- }
- @Test
- public void treeShouldSupportDelete() {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement