/*
* File: DataCountTreeSetBinnedMapHistogramTest.java
* Authors: Zachary Benz
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright Nov 27, 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.statistics.distribution;
import gov.sandia.cognition.annotation.CodeReview;
import java.util.Arrays;
/**
* Unit tests for class DataCountTreeSetBinnedMapHistogram.
*
* @author Zachary Benz
* @since 2.0
*/
@CodeReview(
reviewer = "Justin Basilico",
date = "2009-05-29",
changesNeeded = false,
comments = "Cleaned up the formatting and javadoc."
)
public class DataCountTreeSetBinnedMapHistogramTest
extends MapBasedDataHistogramTest
{
/**
* Creates a new test.
*
* @param testName
* The test name.
*/
public DataCountTreeSetBinnedMapHistogramTest(
final String testName)
{
super(testName);
}
/**
* Test of add method, of class DataCountTreeSetBinnedMapHistogram.
*/
@Override
public void testAdd()
{
System.out.println("add");
DataCountTreeSetBinnedMapHistogram<String> instance =
new DataCountTreeSetBinnedMapHistogram<String>(Arrays.asList("q", "c", "b", "j"));
assertEquals(0.0, instance.getTotal());
assertEquals(0.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(0, instance.getDomain().size());
assertFalse(instance.getDomain().contains("b"));
instance.increment("a");
assertEquals(0.0, instance.getTotal());
assertEquals(0.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(0, instance.getDomain().size());
assertFalse(instance.getDomain().contains("b"));
instance.increment("b");
assertEquals(1.0, instance.getTotal());
assertEquals(1.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(1, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
instance.increment("b");
assertEquals(2.0, instance.getTotal());
assertEquals(2.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(1, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
instance.increment("c");
assertEquals(3.0, instance.getTotal());
assertEquals(2.0, instance.get("b"));
assertEquals(1.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(2, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
instance.increment("b");
assertEquals(4.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(1.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(2, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
instance.increment("d", 7);
assertEquals(11.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(8.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(2, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
instance.increment("m", 3);
assertEquals(14.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(8.0, instance.get("c"));
assertEquals(3.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.increment("j", 14);
assertEquals(28.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(8.0, instance.get("c"));
assertEquals(17.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.increment("z", 123);
assertEquals(28.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(8.0, instance.get("c"));
assertEquals(17.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
assertFalse(instance.getDomain().contains("z"));
}
/**
* Test of remove method, of class DataCountTreeSetBinnedMapHistogram.
*/
@Override
public void testRemove()
{
System.out.println("remove");
DataCountTreeSetBinnedMapHistogram<String> instance =
new DataCountTreeSetBinnedMapHistogram<String>(Arrays.asList("c", "j", "b", "q"));
assertEquals(0.0, instance.getTotal());
assertEquals(0.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(0, instance.getDomain().size());
instance.decrement("a");
instance.decrement("d", 7);
assertEquals(0.0, instance.getTotal());
assertEquals(0.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(0.0, instance.get("j"));
assertEquals(0, instance.getDomain().size());
instance.increment("b");
instance.increment("b");
instance.increment("f");
instance.increment("b");
instance.increment("m", 7);
instance.increment("c");
assertEquals(12.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(2.0, instance.get("c"));
assertEquals(7.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.decrement("e");
assertEquals(11.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(1.0, instance.get("c"));
assertEquals(7.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.decrement("c");
assertEquals(10.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(7.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.decrement("h");
assertEquals(10.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(7.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.decrement("j", 4);
assertEquals(6.0, instance.getTotal());
assertEquals(3.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(3.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.decrement("b", 100);
assertEquals(3.0, instance.getTotal());
assertEquals(0.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(3.0, instance.get("j"));
assertEquals(3, instance.getDomain().size());
assertTrue(instance.getDomain().contains("b"));
assertTrue(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.compact();
assertEquals(1, instance.getDomain().size());
assertFalse(instance.getDomain().contains("b"));
assertFalse(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
instance.decrement("z", 123123);
assertEquals(3.0, instance.getTotal());
assertEquals(0.0, instance.get("b"));
assertEquals(0.0, instance.get("c"));
assertEquals(3.0, instance.get("j"));
assertEquals(1, instance.getDomain().size());
assertFalse(instance.getDomain().contains("b"));
assertFalse(instance.getDomain().contains("c"));
assertTrue(instance.getDomain().contains("j"));
}
/**
* Test of getNumBins method, of class DataCountTreeSetBinnedMapHistogram.
*/
public void testGetBinCount()
{
System.out.println("getNumBins");
DataCountTreeSetBinnedMapHistogram<String> instance =
new DataCountTreeSetBinnedMapHistogram<String>(Arrays.asList("c", "j", "b", "q"));
assertEquals(3, instance.getBinCount());
}
}