/** * Sample JUnit test class for TreeCollection. * Performs superficial tests of functionality. * @author Dr. Jody Paul * @version Fall 2005 - CSI 3050 */ public class TreeCollectionTest extends junit.framework.TestCase { TreeCollection treeColl; TreeCollection treeColl2; java.util.ArrayList al; /** * Default constructor for test class TreeCollectionTest */ public TreeCollectionTest() { } /** * Sets up the test fixture. * * Called before every test case method. */ protected void setUp() { treeColl = new TreeCollection(); treeColl2 = new TreeCollection(); treeColl2.add(new Integer(1)); treeColl2.add(new Integer(2)); treeColl2.add(new Integer(3)); treeColl2.add(new Integer(4)); treeColl2.add(new Integer(5)); treeColl2.add(new Integer(6)); treeColl2.add(new Integer(7)); treeColl2.add(new Integer(8)); treeColl2.add(new Integer(9)); treeColl2.add(new Integer(10)); al = new java.util.ArrayList(); al.add(4); al.add(7); } /** * Tears down the test fixture. * * Called after every test case method. */ protected void tearDown() { } public void testConstructor() { TreeCollection tc1 = new TreeCollection(); assertEquals(0, tc1.size()); assertEquals(true, tc1.add(new Integer(42))); TreeCollection tc2 = new TreeCollection(tc1); assertEquals(1, tc2.size()); assertEquals(true, tc2.contains(new Integer(42))); } public void testAdd() { assertEquals(0, treeColl.size()); assertEquals(true, treeColl.add(new Integer(1))); assertEquals(1, treeColl.size()); assertEquals(true, treeColl.add(new Integer(2))); assertEquals(2, treeColl.size()); assertEquals(true, treeColl.add(new Integer(3))); assertEquals(3, treeColl.size()); } public void testAddAll() { assertEquals(0, treeColl.size()); assertEquals(true, treeColl.addAll(al)); assertEquals(2, treeColl.size()); assertEquals(false, treeColl.addAll(al)); assertEquals(false, treeColl2.addAll(al)); } public void testClear() { assertEquals(10, treeColl2.size()); treeColl2.clear(); assertEquals(0, treeColl2.size()); treeColl.clear(); assertEquals(0, treeColl.size()); } public void testContains() { assertEquals(false, treeColl.contains(new Integer(42))); assertEquals(true, treeColl2.contains(new Integer(4))); assertEquals(false, treeColl2.contains(new Integer(42))); } public void testContainsAll() { assertEquals(true, treeColl2.containsAll(al)); assertEquals(false, treeColl.containsAll(al)); } public void testEquals() { assertEquals(true, treeColl.equals(treeColl)); assertEquals(true, treeColl.equals(new TreeCollection(treeColl))); } public void testFirst() { assertEquals(new Integer(1), treeColl2.first()); try { treeColl.first(); assertTrue(false); } catch (Exception e) { assertTrue(true); } } public void testGetHeight() { assertEquals(-1, treeColl.getHeight()); assertEquals(true, treeColl.add(new Integer(1))); assertEquals(0, treeColl.getHeight()); assertEquals(true, treeColl.add(new Integer(2))); assertEquals(1, treeColl.getHeight()); assertEquals(true, treeColl.add(new Integer(3))); assertEquals(1, treeColl.getHeight()); assertEquals(true, treeColl.add(new Integer(4))); assertEquals(2, treeColl.getHeight()); assertEquals(3, treeColl2.getHeight()); } public void testGetRoot() { assertNull(treeColl.getRoot()); assertTrue(treeColl.add(new Integer(1))); assertTrue(treeColl.getRoot().equals(new Integer(1))); assertTrue(treeColl.add(new Integer(2))); assertTrue(treeColl.add(new Integer(3))); assertTrue(treeColl.getRoot().equals(new Integer(2))); assertTrue( (new Integer(7)).equals(treeColl2.getRoot()) ||(new Integer(6)).equals(treeColl2.getRoot()) ||(new Integer(5)).equals(treeColl2.getRoot()) ||(new Integer(4)).equals(treeColl2.getRoot())); } public void testHashCode() { assertFalse(treeColl.hashCode() == treeColl2.hashCode()); TreeCollection treeColl2a = new TreeCollection(treeColl2); assertEquals(treeColl2.hashCode(), treeColl2a.hashCode()); assertEquals(true, treeColl2.equals(treeColl2a)); assertEquals(false, (treeColl2 == treeColl2a)); assertEquals(true, treeColl2a.add(new Integer(11))); assertFalse(treeColl2.hashCode() == treeColl2a.hashCode()); } public void testIsEmpty() { assertEquals(true, treeColl.isEmpty()); assertEquals(false, treeColl2.isEmpty()); } public void testIterator() { java.util.Iterator tcIt = treeColl.iterator(); assertEquals(false, tcIt.hasNext()); tcIt = treeColl2.iterator(); assertEquals(true, tcIt.hasNext()); assertEquals(new Integer(1), tcIt.next()); assertEquals(true, tcIt.hasNext()); assertEquals(new Integer(2), tcIt.next()); } public void testLast() { assertEquals(new Integer(10), treeColl2.last()); try { treeColl.first(); assertTrue(false); } catch (Exception e) { assertTrue(true); } } public void testRetainAll() { assertEquals(true, treeColl2.retainAll(al)); assertEquals(false,treeColl2.retainAll(al)); assertEquals(2, treeColl2.size()); } public void testRemove() { assertEquals(true, treeColl2.contains(new Integer(5))); assertEquals(true, treeColl2.remove(new Integer(5))); assertEquals(false, treeColl2.contains(new Integer(5))); assertEquals(false, treeColl2.remove(new Integer(5))); } public void testRemoveAll() { assertEquals(true, treeColl2.containsAll(al)); assertEquals(true, treeColl2.removeAll(al)); assertEquals(false, treeColl2.containsAll(al)); assertEquals(false, treeColl2.removeAll(al)); assertEquals(false, treeColl2.contains(new Integer(4))); assertEquals(true, treeColl2.contains(new Integer(1))); assertEquals(8, treeColl2.size()); } public void testSize() { assertEquals(0, treeColl.size()); assertEquals(10, treeColl2.size()); assertEquals(true, treeColl.addAll(al)); assertEquals(2, treeColl.size()); } public void testToArray() { java.lang.Object[] tcArray = treeColl2.toArray(); assertEquals(10, tcArray.length); assertEquals(true, tcArray[0].equals(treeColl2.first())); assertEquals(true, treeColl.add(new Integer(42))); treeColl.toArray(tcArray); assertEquals(true, tcArray[0].equals(treeColl.first())); assertEquals(true, tcArray[0].equals(new Integer(42))); } public void testToList() { java.util.List tcList = treeColl.toList(); assertEquals(0, tcList.size()); tcList = treeColl2.toList(); assertEquals(10, tcList.size()); assertEquals(treeColl2.first(), tcList.get(0)); } }