Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.87 KB | None | 0 0
  1. import static org.hamcrest.CoreMatchers.is;
  2. import static org.hamcrest.CoreMatchers.nullValue;
  3. import static org.hamcrest.MatcherAssert.assertThat;
  4. import static org.hamcrest.core.IsNull.notNullValue;
  5.  
  6. import java.util.List;
  7.  
  8. import org.junit.Test;
  9.  
  10. public class BinaryTreeTest {
  11.  
  12.   BinaryTree tree = new BinaryTree();
  13.  
  14.  
  15.   @Test
  16.   public void treeShouldReceiveOnlyNodeValueAsInput() {
  17.     tree.insert(5);
  18.     assertThat("If no root defined, new node should become root", tree.getRoot().getValue(), is(notNullValue()));
  19.   }
  20.  
  21.   @Test
  22.   public void inputValueMustBeNumeric() {
  23.     tree.insert(5);
  24.   }
  25.  
  26.   @Test
  27.   public void testTreeInsertion() {
  28.     tree.insert(5);
  29.     tree.insert(3);
  30.     tree.insert(6);
  31.  
  32.     Node node = tree.find(5);
  33.  
  34.     assertThat("root node should contains second node as left children", node.getLeft().getValue(), is(3));
  35.  
  36.     assertThat("root node should contains second node as right children", node.getRight().getValue(), is(6));
  37.   }
  38.  
  39.  
  40.   @Test
  41.   public void treeMustInsertNodesNoToRootOnly() {
  42.     tree.insert(5);
  43.     tree.insert(3);
  44.     tree.insert(6);
  45.     tree.insert(12);
  46.  
  47.     Node node = tree.find(6);
  48.  
  49.     assertThat("root node should contains second node as right children", node.getRight().getValue(), is(12));
  50.  
  51.   }
  52.  
  53.  
  54.   @Test
  55.   public void treeMustReturnNullIfThereIsNoSuchNode() {
  56.     tree.insert(5);
  57.     tree.insert(3);
  58.     tree.insert(6);
  59.     tree.insert(12);
  60.  
  61.     Node node = tree.find(24);
  62.  
  63.     assertThat("node should be null", node, is(nullValue()));
  64.   }
  65.  
  66.   @Test
  67.   public void treeMustHaveFindMaxMethod() {
  68.  
  69.     assertThat("in empty tree it should be zero",  tree.findMax() , is(0));
  70.  
  71.     tree.insert(5);
  72.     tree.insert(3);
  73.     tree.insert(6);
  74.     tree.insert(12);
  75.  
  76.     assertThat("should be 12",  tree.findMax() , is(12));
  77.  
  78.   }
  79.  
  80.   @Test
  81.   public void treeMustHaveMinimumMethod() {
  82.     assertThat("in empty tree it should be zero",  tree.findMin() , is(0));
  83.  
  84.     tree.insert(5);
  85.     tree.insert(3);
  86.     tree.insert(6);
  87.     tree.insert(12);
  88.  
  89.     assertThat("should be 3",  tree.findMin() , is(3));
  90.   }
  91.  
  92.   @Test
  93.   public void traverseTree() {
  94.  
  95.     tree.insert(5);
  96.     tree.insert(3);
  97.     tree.insert(6);
  98.  
  99.     List<Node> inOrderNodes = tree.traverseInOrder();
  100.     List<Node> preOrderNodes = tree.traversePreOrder();
  101.     List<Node> postOrderNodes = tree.traverPostOrder();
  102.  
  103.     assertThat("in order nodes", inOrderNodes.get(0).getValue(), is(5));
  104.     assertThat("in order nodes", inOrderNodes.get(1).getValue(), is(3));
  105.     assertThat("in order nodes", inOrderNodes.get(2).getValue(), is(6));
  106.  
  107.     assertThat("pre order nodes", preOrderNodes.get(0).getValue(), is(3));
  108.     assertThat("pre order nodes", preOrderNodes.get(1).getValue(), is(6));
  109.     assertThat("pre order nodes", preOrderNodes.get(2).getValue(), is(5));
  110.  
  111.  
  112.  
  113.   }
  114.  
  115.  
  116.   @Test
  117.   public void treeShouldSupportDelete() {
  118.  
  119.   }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement