package org.limewire.collection; import java.util.TreeSet; import junit.framework.Test; import org.limewire.util.BaseTestCase; public class RandomSequenceTest extends BaseTestCase { public RandomSequenceTest(String name) { super(name); } public static Test suite() { return buildTestSuite(RandomSequenceTest.class); } public static void testUnique() throws Exception { TreeSet<Integer> s = new TreeSet<Integer>(); RandomSequence r = new RandomSequence(1000); for (int i : r) assertTrue(s.add(i)); assertEquals(1000, s.size()); assertEquals(new Integer(0),s.first()); assertEquals(new Integer(999), s.last()); } public static void testDifferent() throws Exception { final int HOST_CATCHER_SIZE = 200; String out1 = ""; String out2 = ""; // iterations over the same sequence are identical RandomSequence r = new RandomSequence(HOST_CATCHER_SIZE); for (int i : r) out1 = out1 +" "+ i; for (int i : r) out2 = out2 +" "+ i; assertEquals(out1, out2); // but iterations over different sequences are not r = new RandomSequence(HOST_CATCHER_SIZE); out2 = ""; for (int i : r) out2 = out2 +" "+ i; // Note: with this set size, 1 in 10K sequences will be the same assertNotEquals(out1, out2); } }