/*
* File: WilcoxonSignedRankConfidenceTest.java
* Authors: Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright August 20, 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.method;
import gov.sandia.cognition.statistics.method.WilcoxonSignedRankConfidence.Statistic;
import java.util.Arrays;
import java.util.Collection;
import junit.framework.TestCase;
/**
*
* @author Kevin R. Dixon
*/
public class WilcoxonSignedRankConfidenceTest
extends TestCase
{
public WilcoxonSignedRankConfidenceTest(String testName)
{
super(testName);
}
/**
* Test of clone method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.
*/
public void testClone()
{
System.out.println("clone");
WilcoxonSignedRankConfidence instance = new WilcoxonSignedRankConfidence();
WilcoxonSignedRankConfidence clone = (WilcoxonSignedRankConfidence) instance.clone();
assertNotSame(instance, clone);
}
/**
* Test of evaluateNullHypothesis method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.
*/
public void testEvaluateNullHypothesis()
{
System.out.println("evaluateNullHypothesis");
Collection<Double> data11 = Arrays.asList(1.0, 2.0, 3.0, 4.0, 5.0);
Collection<Double> data21 = Arrays.asList(5.0, 4.0, 3.0, 2.0, 1.0);
WilcoxonSignedRankConfidence instance = new WilcoxonSignedRankConfidence();
WilcoxonSignedRankConfidence.Statistic stat1 = instance.evaluateNullHypothesis(data11, data21);
assertEquals(5.0, stat1.getT());
assertEquals(4, stat1.getNumNonZero());
assertEquals(1.0, stat1.getNullHypothesisProbability());
}
/**
* Test of ranks method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.
*/
public void testRanks()
{
System.out.println("ranks");
Collection<Double> values1 = Arrays.asList(1.0, 2.0, 3.0, 4.0, 5.0, 5.0);
double[] ranks1 = WilcoxonSignedRankConfidence.ranks(values1);
assertEquals(values1.size(), ranks1.length);
double[] expected1 = {1, 2, 3, 4, 5.5, 5.5};
for (int i = 0; i < values1.size(); i++)
{
assertEquals(expected1[i], ranks1[i]);
}
Collection<Double> values2 = Arrays.asList(5.0, 5.0, 5.0, 4.0, 2.0);
double[] ranks2 = WilcoxonSignedRankConfidence.ranks(values2);
assertEquals(values2.size(), ranks2.length);
double[] expected2 = {4, 4, 4, 2, 1};
for (int i = 0; i < values2.size(); i++)
{
assertEquals(expected2[i], ranks2[i]);
}
Collection<Double> values3 = Arrays.asList(9.0, 5.0, 8.0, 2.0, 4.0);
double[] ranks3 = WilcoxonSignedRankConfidence.ranks(values3);
assertEquals(values3.size(), ranks3.length);
double[] expected3 = {5, 3, 4, 1, 2};
for (int i = 0; i < values3.size(); i++)
{
assertEquals(expected3[i], ranks3[i]);
}
Collection<Double> values4 = Arrays.asList(4.0, 2.0, 2.0, 4.0);
double[] ranks4 = WilcoxonSignedRankConfidence.ranks(values4);
assertEquals(values4.size(), ranks4.length);
double[] expected4 = {3.5, 1.5, 1.5, 3.5};
for (int i = 0; i < values4.size(); i++)
{
assertEquals(expected4[i], ranks4[i]);
}
}
public WilcoxonSignedRankConfidence.Statistic createStatisticInstance()
{
double T = Math.random() * 100.0 + 1;
int numNonzero = (int) (Math.sqrt(T) + Math.random() / Math.random()) + 1;
return new WilcoxonSignedRankConfidence.Statistic(T, numNonzero);
}
/**
* Test of clone method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testStatisticClone()
{
System.out.println("Statistic.clone");
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
WilcoxonSignedRankConfidence.Statistic clone = (Statistic) instance.clone();
assertNotSame(instance, clone);
assertEquals(instance.getNumNonZero(), clone.getNumNonZero());
assertEquals(instance.getT(), clone.getT());
assertEquals(instance.getZ(), clone.getZ());
assertEquals(instance.getNullHypothesisProbability(), clone.getNullHypothesisProbability());
}
/**
* Test of getT method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testStatisticGetT()
{
System.out.println("Statistic.getT");
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
assertTrue(instance.getT() != 0.0);
}
/**
* Test of setT method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testStatisticSetT()
{
System.out.println("Statistic.setT");
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
assertTrue(instance.getT() != 0.0);
double T = instance.getT() + 1.0;
instance.setT(T);
assertEquals(T, instance.getT());
}
/**
* Test of getNumNonZero method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testStatisticGetNumNonZero()
{
System.out.println("Statistic.getNumNonZero");
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
assertTrue(instance.getNumNonZero() >= 0);
}
/**
* Test of setNumNonZero method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testSetNumNonZero()
{
System.out.println("Statistic.setNumNonZero");
int numNonZero = 0;
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
numNonZero = instance.getNumNonZero();
instance.setNumNonZero(numNonZero);
assertEquals(numNonZero, instance.getNumNonZero());
}
/**
* Test of getZ method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testStatisticGetZ()
{
System.out.println("Statistic.getZ");
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
assertTrue(instance.getZ() != 0.0);
}
/**
* Test of setZ method, of class gov.sandia.cognition.learning.util.statistics.WilcoxonSignedRankConfidence.Statistic.
*/
public void testStatisticSetZ()
{
System.out.println("Statistic.setZ");
double z = 0;
WilcoxonSignedRankConfidence.Statistic instance = this.createStatisticInstance();
z = instance.getZ();
instance.setZ(z);
assertEquals(z, instance.getZ());
}
}