package com.anuragkapur.pie.teesandgraphs; import com.anuragkapur.ds.tree.Node; import org.junit.Test; import static org.junit.Assert.*; /** * @author anuragkapur */ public class PreorderIterativeTest { PreorderIterative preorderIterative = new PreorderIterative(); @Test public void testPreorder1() throws Exception { assertEquals("[]", preorderIterative.preorder(null).toString()); } @Test public void testPreorder2() throws Exception { Node<Integer> node1 = new Node<>(1); Node<Integer> node2 = new Node<>(2); node1.setLeft(node2); Node<Integer> node3 = new Node<>(3); node2.setLeft(node3); Node<Integer> node4 = new Node<>(4); node2.setRight(node4); assertEquals("[1, 2, 3, 4]", preorderIterative.preorder(node1).toString()); } @Test public void testPreorder3() throws Exception { Node<Integer> node100 = new Node<>(100); Node<Integer> node50 = new Node<>(50); Node<Integer> node150 = new Node<>(150); Node<Integer> node25 = new Node<>(25); Node<Integer> node75 = new Node<>(75); Node<Integer> node125 = new Node<>(125); Node<Integer> node175 = new Node<>(175); Node<Integer> node110 = new Node<>(110); node100.setLeft(node50); node100.setRight(node150); node50.setLeft(node25); node50.setRight(node75); node150.setLeft(node125); node150.setRight(node175); node125.setLeft(node110); assertEquals("[100, 50, 25, 75, 150, 125, 110, 175]", preorderIterative.preorder(node100).toString()); } }