package sizzle.aggregators; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.junit.Assert; import org.junit.Test; import sizzle.aggregators.SortedCountingSet; public class TestSortedCountingSet { @Test public void testSortedCountingSetEmpty() { final SortedCountingSet<String> s = new SortedCountingSet<String>(); Assert.assertEquals("set is wrong", new ArrayList<String>(), s.toList()); } @Test public void testSortedCountingSetSingle() { final SortedCountingSet<String> s = new SortedCountingSet<String>(); s.add("test"); Assert.assertEquals("set is wrong", Arrays.asList("test"), s.toList()); } @Test public void testSortedCountingSetDuplicate() { final SortedCountingSet<String> s = new SortedCountingSet<String>(); s.add("test"); s.add("test"); s.add("test"); s.add("test"); s.add("test"); s.add("test"); Assert.assertEquals("set is wrong", Arrays.asList("test", "test", "test", "test", "test", "test"), s.toList()); } @Test public void testSortedCountingSetSorted() { final SortedCountingSet<String> s = new SortedCountingSet<String>(); s.add("test1"); s.add("test1"); s.add("test2"); s.add("test2"); s.add("test3"); s.add("test3"); Assert.assertEquals("set is wrong", Arrays.asList("test1", "test1", "test2", "test2", "test3", "test3"), s.toList()); } @Test public void testSortedCountingSetUnsorted() { final SortedCountingSet<String> s = new SortedCountingSet<String>(); s.add("test3"); s.add("test1"); s.add("test2"); s.add("test1"); s.add("test3"); s.add("test2"); Assert.assertEquals("set is wrong", Arrays.asList("test1", "test1", "test2", "test2", "test3", "test3"), s.toList()); } @Test public void testSortedCountingSetBig() { final SortedCountingSet<String> s = new SortedCountingSet<String>(); final List<String> expected = new ArrayList<String>(); s.add("first"); expected.add("first"); for (int i = 0; i < 18; i++) { s.add("sawzall"); expected.add("sawzall"); } for (int i = 0; i < 27; i++) { s.add("salsa"); expected.add("salsa"); } s.add("java"); expected.add("java"); for (int i = 0; i < 53; i++) { s.add("sizzle"); expected.add("sizzle"); } s.add("last"); expected.add("last"); Collections.sort(expected); Assert.assertEquals("set is wrong", expected, s.toList()); } }