/*
* File: GaussianClusterTest.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright August 24, 2007, 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.cluster;
import gov.sandia.cognition.math.matrix.MatrixFactory;
import gov.sandia.cognition.statistics.distribution.MultivariateGaussian;
import gov.sandia.cognition.math.matrix.Vector;
import gov.sandia.cognition.math.matrix.mtj.Vector3;
import java.util.ArrayList;
import junit.framework.TestCase;
/**
* This class implements JUnit tests for the following classes:
*
* GaussianCluster
*
* @author Justin Basilico
* @since 2.0
*/
public class GaussianClusterTest
extends TestCase
{
public GaussianClusterTest(
String testName)
{
super(testName);
}
public void testConstructors()
{
GaussianCluster instance = new GaussianCluster();
assertEquals(DefaultCluster.DEFAULT_INDEX, instance.getIndex());
assertTrue(instance.getMembers().isEmpty());
assertNull(instance.getGaussian());
MultivariateGaussian.PDF gaussian = new MultivariateGaussian.PDF(
new Vector3(), MatrixFactory.getDefault().createIdentity(3, 3));
instance = new GaussianCluster(gaussian);
assertEquals(DefaultCluster.DEFAULT_INDEX, instance.getIndex());
assertTrue(instance.getMembers().isEmpty());
assertSame(gaussian, instance.getGaussian());
Vector3 member = new Vector3(1.0, 2.0, 3.0);
ArrayList<Vector> members = new ArrayList<Vector>();
members.add(member);
instance = new GaussianCluster(members, gaussian);
assertEquals(DefaultCluster.DEFAULT_INDEX, instance.getIndex());
assertNotSame(members, instance.getMembers());
assertEquals(1, instance.getMembers().size());
assertTrue(instance.getMembers().contains(member));
assertSame(gaussian, instance.getGaussian());
int index = 47;
instance = new GaussianCluster(index, members, gaussian);
assertEquals(index, instance.getIndex());
assertNotSame(members, instance.getMembers());
assertEquals(1, instance.getMembers().size());
assertTrue(instance.getMembers().contains(member));
assertSame(gaussian, instance.getGaussian());
}
/**
* Test of getGaussian method, of class gov.sandia.cognition.learning.clustering.cluster.GaussianCluster.
*/
public void testGetGaussian()
{
this.testSetGaussian();
}
/**
* Test of setGaussian method, of class gov.sandia.cognition.learning.clustering.cluster.GaussianCluster.
*/
public void testSetGaussian()
{
GaussianCluster instance = new GaussianCluster();
assertNull(instance.getGaussian());
MultivariateGaussian.PDF gaussian = new MultivariateGaussian.PDF(
new Vector3(), MatrixFactory.getDefault().createIdentity(3, 3));
instance.setGaussian(gaussian);
assertSame(gaussian, instance.getGaussian());
instance.setGaussian(null);
assertNull(instance.getGaussian());
}
}