/* * File: MultivariateGaussianInverseGammaDistributionTest.java * Authors: Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright Apr 2, 2010, 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.statistics.distribution; import gov.sandia.cognition.math.matrix.Vector; import gov.sandia.cognition.statistics.MultivariateClosedFormDistributionTestHarness; /** * Unit tests for MultivariateGaussianInverseGammaDistributionTest. * * @author krdixon */ public class MultivariateGaussianInverseGammaDistributionTest extends MultivariateClosedFormDistributionTestHarness<Vector> { /** * Tests for class MultivariateGaussianInverseGammaDistributionTest. * @param testName Name of the test. */ public MultivariateGaussianInverseGammaDistributionTest( String testName) { super(testName); } /** * Tests the constructors of class MultivariateGaussianInverseGammaDistributionTest. */ @Override public void testConstructors() { System.out.println( "Constructors" ); MultivariateGaussianInverseGammaDistribution instance = new MultivariateGaussianInverseGammaDistribution(); assertEquals( MultivariateGaussianInverseGammaDistribution.DEFAULT_DIMENSIONALITY, instance.getGaussian().getInputDimensionality() ); assertNotNull( instance.getInverseGamma() ); } /** * Test of getGaussian method, of class MultivariateGaussianInverseGammaDistribution. */ public void testGetGaussian() { System.out.println("getGaussian"); MultivariateGaussianInverseGammaDistribution instance = this.createInstance(); MultivariateGaussian gaussian = instance.getGaussian(); assertNotNull( gaussian ); } /** * Test of setGaussian method, of class MultivariateGaussianInverseGammaDistribution. */ public void testSetGaussian() { System.out.println("setGaussian"); MultivariateGaussianInverseGammaDistribution instance = this.createInstance(); MultivariateGaussian gaussian = instance.getGaussian(); assertNotNull( gaussian ); instance.setGaussian(null); assertNull( instance.getGaussian() ); instance.setGaussian(gaussian); assertSame( gaussian, instance.getGaussian() ); } /** * Test of getInverseGamma method, of class MultivariateGaussianInverseGammaDistribution. */ public void testGetInverseGamma() { System.out.println("getInverseGamma"); MultivariateGaussianInverseGammaDistribution instance = this.createInstance(); InverseGammaDistribution inverseGamma = instance.getInverseGamma(); assertNotNull( inverseGamma ); } /** * Test of setInverseGamma method, of class MultivariateGaussianInverseGammaDistribution. */ public void testSetInverseGamma() { System.out.println("setInverseGamma"); MultivariateGaussianInverseGammaDistribution instance = this.createInstance(); InverseGammaDistribution inverseGamma = instance.getInverseGamma(); assertNotNull( inverseGamma ); instance.setInverseGamma(null); assertNull( instance.getInverseGamma() ); instance.setInverseGamma(inverseGamma); assertSame( inverseGamma, instance.getInverseGamma() ); } @Override public MultivariateGaussianInverseGammaDistribution createInstance() { return new MultivariateGaussianInverseGammaDistribution(); } @Override public void testKnownValues() { System.out.println( "Known Values" ); MultivariateGaussianInverseGammaDistribution instance = this.createInstance(); assertEquals( instance.getGaussian().getMean(), instance.getMean() ); } @Override public void testGetMean() { double temp = TOLERANCE; TOLERANCE = 1e-1; super.testGetMean(); TOLERANCE = temp; } @Override public void testKnownConvertToVector() { System.out.println( "known convertToVector" ); MultivariateGaussianInverseGammaDistribution instance = this.createInstance(); Vector v1 = instance.getGaussian().convertToVector(); Vector v2 = instance.getInverseGamma().convertToVector(); Vector expected = v1.stack(v2); assertEquals( expected, instance.convertToVector() ); } }