@Test public void shouldReturnBinaryNodesInPreOrderRecursive() { BinaryNode<Integer> root = new BinaryNode<Integer>(0); BinaryNode<Integer> n1 = new BinaryNode<Integer>(1); BinaryNode<Integer> n2 = new BinaryNode<Integer>(2); BinaryNode<Integer> n3 = new BinaryNode<Integer>(3); BinaryNode<Integer> n4 = new BinaryNode<Integer>(4); root.setLeft(n1); root.setRight(n2); n1.setLeft(n3); n1.setRight(n4); List<BinaryNode> result = binaryTreePreOrder.getRecursive(root); List<BinaryNode<Integer>> expected = Arrays.asList(root, n1, n3, n4, n2); assertEquals(expected, result); }
public List<BinaryNode> getRecursive(BinaryNode root) { validateBinaryNode(root); return getInner(root); }
BinaryTreePreOrder { public List<BinaryNode> getRecursive(BinaryNode root) { validateBinaryNode(root); return getInner(root); } }
BinaryTreePreOrder { public List<BinaryNode> getRecursive(BinaryNode root) { validateBinaryNode(root); return getInner(root); }  }
BinaryTreePreOrder { public List<BinaryNode> getRecursive(BinaryNode root) { validateBinaryNode(root); return getInner(root); }  List<BinaryNode> getRecursive(BinaryNode root); List<BinaryNode> getIterative(BinaryNode root); }
BinaryTreePreOrder { public List<BinaryNode> getRecursive(BinaryNode root) { validateBinaryNode(root); return getInner(root); }  List<BinaryNode> getRecursive(BinaryNode root); List<BinaryNode> getIterative(BinaryNode root);  }