/*
* File: DefaultMultiCollectionTest.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright March 27, 2006, 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.collection;
import gov.sandia.cognition.annotation.CodeReview;
import java.util.ArrayList;
import java.util.Iterator;
import junit.framework.TestCase;
/**
* This class implements JUnit tests for the following classes:
*
* DefaultMultiCollection
*
* @author Justin Basilico
* @since 1.0
*/
@CodeReview(
reviewer="Kevin R. Dixon",
date="2006-07-18",
changesNeeded=false,
comments="Looks fine"
)
public class DefaultMultiCollectionTest
extends TestCase
{
public DefaultMultiCollectionTest(
String testName)
{
super(testName);
}
public void testConstructors()
{
String a = "a";
String b = "b";
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
list1.add(a);
list2.add(b);
DefaultMultiCollection<String> instance = null;
instance = new DefaultMultiCollection<String>(list1, list2);
assertEquals(2, instance.size());
assertTrue(instance.contains(a));
assertTrue(instance.contains(b));
ArrayList<ArrayList<String>> listsList =
new ArrayList<ArrayList<String>>();
listsList.add(list1);
listsList.add(list2);
instance = new DefaultMultiCollection<String>(listsList);
assertEquals(2, instance.size());
assertTrue(instance.contains(a));
assertTrue(instance.contains(b));
}
/**
* Test of contains method, of class gov.sandia.isrc.util.DefaultMultiCollection.
*/
public void testContains()
{
String a = "a";
String b = "b";
String c = "c";
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
list1.add(a);
list2.add(b);
DefaultMultiCollection<String> instance =
new DefaultMultiCollection<String>(list1, list2);
assertTrue(instance.contains(a));
assertTrue(instance.contains(b));
assertFalse(instance.contains(c));
assertTrue(instance.contains("a"));
list1.add(c);
list2.add(null);
assertTrue(instance.contains(c));
assertTrue(instance.contains(null));
}
/**
* Test of size method, of class gov.sandia.isrc.util.DefaultMultiCollection.
*/
public void testSize()
{
String a = "a";
String b = "b";
String c = "c";
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
list1.add(a);
list2.add(b);
DefaultMultiCollection<String> instance =
new DefaultMultiCollection<String>(list1, list2);
assertEquals(2, instance.size());
assertEquals( 2, instance.getSubCollectionsCount() );
list1.add(c);
assertEquals( 2, instance.getSubCollectionsCount() );
assertEquals(3, instance.size());
}
/**
* Test of iterator method, of class gov.sandia.isrc.util.DefaultMultiCollection.
*/
public void testIterator()
{
String a = "a";
String b = "b";
String c = "c";
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
list1.add(a);
list2.add(b);
DefaultMultiCollection<String> instance =
new DefaultMultiCollection<String>(list1, list2);
Iterator<String> it = instance.iterator();
assertNotNull(it);
assertTrue(it.hasNext());
assertEquals(a, it.next());
assertTrue(it.hasNext());
assertEquals(b, it.next());
assertFalse(it.hasNext());
}
}