package com.michaelthomas.set.linkedhashset; /** * @author Michael Thomas (www.michael-thomas.com) michael@michael-thomas.com * */ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import java.util.LinkedHashSet; import java.util.Set; import org.junit.Before; import org.junit.Test; import com.michaelthomas.collection.MyCollectionTraverse; public class MyLinkedHashSetTest { private MyCollectionTraverse myCollectionTraverse = new MyCollectionTraverse(); MyLinkedHashSet myObj = new MyLinkedHashSet(); Set mySetObjPlay = new LinkedHashSet(); private Set set1; private Set set2; private Set setNulls; @Before public void setUp() throws Exception { set1 = myObj.buildLinkedHashSetCarVendors1(); set2 = myObj.buildLinkedHashSetCarVendors2(); setNulls = myObj.buildLinkedHashSetWithNulls(); } @Test public void testBuildSetCarVendors1() { assertEquals(3, set1.size()); assertEquals("[BMW, Ford, Toyota]",set1.toString()); //Order: insertion order } @Test public void testBuildSetCarVendors2() { assertEquals(3, set2.size()); assertEquals("[BMW, Mercedes, Chevorlet]".toString(),set2.toString()); //Order: insertion order } @Test public void testSetWithNulls() { assertEquals(3, setNulls.size()); assertEquals("[BMW, null, ]".toString(),setNulls.toString()); //Order: insertion order } @Test public void testBuildNoDuplicates() { mySetObjPlay.add("One"); mySetObjPlay.add("Two"); mySetObjPlay.add("Three"); assertEquals(3, set1.size()); assertFalse(mySetObjPlay.add("Three")); //No duplicates allowed. assertEquals(3, set1.size()); mySetObjPlay.add("Four"); assertEquals(3, set1.size()); assertEquals("[One, Two, Three, Four]",mySetObjPlay.toString()); //Order: insertion order } @Test public void testIterateForLoopExample() { String setString = myCollectionTraverse.iterateForLoopExample(set1); assertEquals("BMW, Ford, Toyota", setString ); //Order: insertion order } }