/** * A driver program to test generic class for a binary node * * @author William McDaniel Albritton */ public class BinaryNodeDriver { /** * Driver code to test class * * @param commandlineArguments are not used */ public static void main(String[] commandlineArguments) { // using BinaryNode System.out.println("test 3 BinaryNode nodes:"); BinaryNode node1 = new BinaryNode("A", null, null); BinaryNode node2 = new BinaryNode("B", null, null); BinaryNode node3 = new BinaryNode("C", node1, node2); System.out.println("root = " + node3.toString()); System.out.println("left child = " + node3.getLeftChild().toString()); System.out.println("right child = " + node3.getRightChild().toString()); //change left child's data to "X" BinaryNode nodeX = node3.getLeftChild(); nodeX.setData("X"); System.out.println(node1.toString()); // using BinaryNode System.out.println("\ntest 3 BinaryNode nodes:"); BinaryNode nodeA = new BinaryNode(10, null, null); BinaryNode nodeB = new BinaryNode(30, null, null); BinaryNode nodeC = new BinaryNode(20, nodeA, nodeB); System.out.println("root = " + nodeC); System.out.println("left child = " + nodeC.getLeftChild()); System.out.println("right child = " + nodeC.getRightChild()); // test accessor and mutator methods System.out.println("\ntest accessor and mutator methods:"); System.out.println("(set right child to left child's data + 100)"); nodeB.setData(nodeA.getData() + 100); System.out.println("right child = " + nodeC.getRightChild()); System.out.println("(switch left and right child nodes)"); nodeC.setLeftChild(nodeB); nodeC.setRightChild(nodeA); System.out.println("left child = " + nodeC.getLeftChild()); System.out.println("right child = " + nodeC.getRightChild()); }//end of main }// end of class /* PROGRAM OUTPUT: test 3 BinaryNode nodes: root = C left child = A right child = B X test 3 BinaryNode nodes: root = 20 left child = 10 right child = 30 test accessor and mutator methods: (set right child to left child's data + 100) right child = 110 (switch left and right child nodes) left child = 110 right child = 10 */