/* * File: DefaultClusterHierarchyNodeTest.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.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import junit.framework.TestCase; /** * Tests of DefaultClusterHierarchyNode * @author Justin Basilico * @since 2.1 */ public class DefaultClusterHierarchyNodeTest extends TestCase { /** * Creates a new test. * * @param testName The test name. */ public DefaultClusterHierarchyNodeTest( String testName) { super(testName); } public void testConstructors() { DefaultCluster<String> cluster = null; List<ClusterHierarchyNode<String, DefaultCluster<String>>> children = null; DefaultClusterHierarchyNode<String, DefaultCluster<String>> instance = new DefaultClusterHierarchyNode<String, DefaultCluster<String>>(); assertSame(cluster, instance.getCluster()); assertSame(children, instance.getChildren()); cluster = new DefaultCluster<String>(); instance = new DefaultClusterHierarchyNode<String, DefaultCluster<String>>( cluster); assertSame(cluster, instance.getCluster()); assertSame(children, instance.getChildren()); children = new ArrayList<ClusterHierarchyNode<String, DefaultCluster<String>>>(); instance = new DefaultClusterHierarchyNode<String, DefaultCluster<String>>( cluster, children); assertSame(cluster, instance.getCluster()); assertSame(children, instance.getChildren()); instance = new DefaultClusterHierarchyNode<String, DefaultCluster<String>>( cluster, null); assertSame( cluster, instance.getCluster() ); assertNull( instance.getChildren() ); } /** * Test of getChildren method, of class DefaultClusterHierarchyNode. */ public void testGetChildren() { this.testSetChildren(); } /** * Test of setChildren method, of class DefaultClusterHierarchyNode. */ @SuppressWarnings("unchecked") public void testSetChildren() { List<ClusterHierarchyNode<String, DefaultCluster<String>>> children = null; DefaultClusterHierarchyNode<String, DefaultCluster<String>> instance = new DefaultClusterHierarchyNode<String, DefaultCluster<String>>(); assertSame(children, instance.getChildren()); assertFalse(instance.hasChildren()); children = new ArrayList<ClusterHierarchyNode<String, DefaultCluster<String>>>(); instance.setChildren(children); assertSame(children, instance.getChildren()); assertFalse(instance.hasChildren()); children = new ArrayList<ClusterHierarchyNode<String, DefaultCluster<String>>>(); ClusterHierarchyNode<String, DefaultCluster<String>> child = new DefaultClusterHierarchyNode<String, DefaultCluster<String>>(); children.add(child); instance.setChildren(children); assertSame(children, instance.getChildren()); assertTrue(instance.hasChildren()); assertSame(child, instance.getChildren().get(0)); children = null; instance.setChildren(children); assertSame(children, instance.getChildren()); instance.setChildren(Arrays.asList(child)); assertTrue(instance.hasChildren()); assertSame(child, instance.getChildren().get(0)); children = Collections.emptyList(); instance.setChildren(children); assertFalse(instance.hasChildren()); } }