/* * File: SidakCorrectionTest.java * Authors: Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright May 31, 2011, 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 java.util.Collection; import static org.junit.Assert.*; /** * * @author krdixon */ public class SidakCorrectionTest extends MultipleHypothesisComparisonTestHarness { /** * Test */ public SidakCorrectionTest() { } @Override public SidakCorrection createInstance() { return new SidakCorrection(); } @Override public void testConstructors() { System.out.println( "Constructors" ); SidakCorrection instance = new SidakCorrection(); assertSame( SidakCorrection.DEFAULT_PAIRWISE_TEST, instance.getPairwiseTest() ); instance = new SidakCorrection( WilcoxonSignedRankConfidence.INSTANCE ); assertSame( WilcoxonSignedRankConfidence.INSTANCE, instance.getPairwiseTest() ); } @Override public void testKnownValues() { Collection<? extends Collection<Double>> experiment = createData1(); SidakCorrection instance = this.createInstance(); AdjustedPValueStatistic result = instance.evaluateNullHypotheses( experiment ); System.out.println( "Result: " + result ); assertEquals( 3, result.getTreatmentCount() ); final int N = 3*2/2; assertEquals( 1.0-Math.pow(1.0-result.getUncompensatedAlpha(),1.0/N), result.getAdjustedAlpha(), TOLERANCE ); for( int i = 0; i < result.getTreatmentCount(); i++ ) { for( int j = 0; j < result.getTreatmentCount(); j++ ) { System.out.println( "(" + i + "," + j + "): " + "z = " + result.getTestStatistic(i, j) + ", p = " + result.getNullHypothesisProbability(i, j) + ", NH = " + result.acceptNullHypothesis(i, j) ); } } AdjustedPValueStatistic clone = result.clone(); assertNotSame( result.getPairwiseTestStatistics(), clone.getPairwiseTestStatistics() ); assertEquals( result.toString(), clone.toString() ); } }