/* * File: SequentialDataMultiPartitionerTest.java * Authors: Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright Sep 22, 2008, 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.data; import java.util.ArrayList; import java.util.Iterator; import java.util.Random; import junit.framework.TestCase; /** * JUnit tests for class SequentialDataMultiPartitionerTest * @author Kevin R. Dixon */ public class SequentialDataMultiPartitionerTest extends TestCase { /** * Entry point for JUnit tests for class SequentialDataMultiPartitionerTest * @param testName name of this test */ public SequentialDataMultiPartitionerTest( String testName) { super(testName); } /** * Random */ public static final Random RANDOM = new Random( 1 ); /** * Test of createPartition method, of class SequentialDataMultiPartitioner. */ public void testCreatePartition1() { System.out.println( "createPartition1" ); int numData = 100; ArrayList<Double> data = new ArrayList<Double>( numData ); for( int i = 0; i < numData; i++ ) { data.add( new Double( RANDOM.nextDouble() ) ); } int numPartitions = 1; ArrayList<ArrayList<Double>> r1 = SequentialDataMultiPartitioner.create( data, numPartitions ); assertEquals( 1, r1.size() ); assertEquals( numData, r1.get(0).size() ); for( int i = 0; i < numData; i++ ) { assertEquals( data.get(i), r1.get(0).get(i) ); } numPartitions = 3; ArrayList<ArrayList<Double>> r2 = SequentialDataMultiPartitioner.create( data, numPartitions ); assertEquals( numPartitions, r2.size() ); assertEquals( numData/numPartitions, r2.get(0).size() ); assertEquals( numData/numPartitions, r2.get(1).size() ); assertEquals( 34, r2.get(2).size() ); Iterator<Double> id = data.iterator(); int index = 0; for( ArrayList<Double> partition : r2 ) { for( int p = 0; p < partition.size(); p++ ) { assertEquals( id.next(), partition.get(p) ); index++; } } } }