/* * File: BinaryClusterHierarchyNodeTest.java * Authors: Justin Basilico * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright October 02, 2008, Sandia Corporation. * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive * license for use of this work by or on behalf of the U.S. Government. Export * of this program may require a license from the United States Government. * See CopyrightHistory.txt for complete details. * */ package gov.sandia.cognition.learning.algorithm.clustering.hierarchy; import gov.sandia.cognition.learning.algorithm.clustering.cluster.DefaultCluster; import java.util.List; import junit.framework.TestCase; /** * Tests of BinaryClusterHierarchyNode * @author Justin Basilico * @since 2.1 */ public class BinaryClusterHierarchyNodeTest extends TestCase { /** * Creates a new test. * * @param testName The test name. */ public BinaryClusterHierarchyNodeTest( String testName) { super(testName); } public void testConstructors() { DefaultCluster<String> cluster = null; ClusterHierarchyNode<String, DefaultCluster<String>> firstChild = null; ClusterHierarchyNode<String, DefaultCluster<String>> secondChild = null; BinaryClusterHierarchyNode<String, DefaultCluster<String>> instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); assertSame(cluster, instance.getCluster()); assertSame(firstChild, instance.getFirstChild()); assertSame(secondChild, instance.getSecondChild()); cluster = new DefaultCluster<String>(); instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>( cluster); assertSame(cluster, instance.getCluster()); assertSame(firstChild, instance.getFirstChild()); assertSame(secondChild, instance.getSecondChild()); firstChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); secondChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>( cluster, firstChild, secondChild); assertSame(cluster, instance.getCluster()); assertSame(firstChild, instance.getFirstChild()); assertSame(secondChild, instance.getSecondChild()); } /** * Test of hasChildren method, of class BinaryClusterHierarchyNode. */ public void testHasChildren() { BinaryClusterHierarchyNode<String, DefaultCluster<String>> instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); assertFalse(instance.hasChildren()); instance.setFirstChild(new BinaryClusterHierarchyNode<String, DefaultCluster<String>>()); assertTrue(instance.hasChildren()); instance.setSecondChild(new BinaryClusterHierarchyNode<String, DefaultCluster<String>>()); assertTrue(instance.hasChildren()); instance.setFirstChild(null); assertTrue(instance.hasChildren()); instance.setSecondChild(null); assertFalse(instance.hasChildren()); } /** * Test of getChildren method, of class BinaryClusterHierarchyNode. */ public void testGetChildren() { ClusterHierarchyNode<String, DefaultCluster<String>> firstChild = null; ClusterHierarchyNode<String, DefaultCluster<String>> secondChild = null; BinaryClusterHierarchyNode<String, DefaultCluster<String>> instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); List<ClusterHierarchyNode<String, DefaultCluster<String>>> result = instance.getChildren(); assertNull(result); firstChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance.setFirstChild(firstChild); result = instance.getChildren(); assertNotNull(result); assertEquals(1, result.size()); assertSame(firstChild, result.get(0)); secondChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance.setSecondChild(secondChild); result = instance.getChildren(); assertNotNull(result); assertEquals(2, result.size()); assertSame(firstChild, result.get(0)); assertSame(secondChild, result.get(1)); firstChild = null; instance.setFirstChild(firstChild); result = instance.getChildren(); assertNotNull(result); assertEquals(1, result.size()); assertSame(secondChild, result.get(0)); secondChild = null; instance.setSecondChild(secondChild); result = instance.getChildren(); assertNull(result); } /** * Test of getFirstChild method, of class BinaryClusterHierarchyNode. */ public void testGetFirstChild() { this.testSetFirstChild(); } /** * Test of setFirstChild method, of class BinaryClusterHierarchyNode. */ public void testSetFirstChild() { ClusterHierarchyNode<String, DefaultCluster<String>> firstChild = null; BinaryClusterHierarchyNode<String, DefaultCluster<String>> instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); assertSame(firstChild, instance.getFirstChild()); firstChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance.setFirstChild(firstChild); assertSame(firstChild, instance.getFirstChild()); firstChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance.setFirstChild(firstChild); assertSame(firstChild, instance.getFirstChild()); firstChild = null; instance.setFirstChild(firstChild); assertSame(firstChild, instance.getFirstChild()); } /** * Test of getSecondChild method, of class BinaryClusterHierarchyNode. */ public void testGetSecondChild() { this.testSetSecondChild(); } /** * Test of setSecondChild method, of class BinaryClusterHierarchyNode. */ public void testSetSecondChild() { ClusterHierarchyNode<String, DefaultCluster<String>> secondChild = null; BinaryClusterHierarchyNode<String, DefaultCluster<String>> instance = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); assertSame(secondChild, instance.getSecondChild()); secondChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance.setSecondChild(secondChild); assertSame(secondChild, instance.getSecondChild()); secondChild = new BinaryClusterHierarchyNode<String, DefaultCluster<String>>(); instance.setSecondChild(secondChild); assertSame(secondChild, instance.getSecondChild()); secondChild = null; instance.setSecondChild(secondChild); assertSame(secondChild, instance.getSecondChild()); } }