package edu.stanford.nlp.util; import edu.stanford.nlp.util.Pair; import edu.stanford.nlp.util.Sets; import junit.framework.TestCase; import java.util.*; public class SetsTest extends TestCase { private Set<String> s1; private Set<String> s2; @Override public void setUp() { s1 = new HashSet<String>(); s1.add("apple"); s1.add("banana"); s1.add("cherry"); s1.add("dingleberry"); s2 = new HashSet<String>(); s2.add("apple"); s2.add("banana"); s2.add("cranberry"); } public void testCross() { Set<Pair<String,String>> cross = Sets.cross(s1, s2); assertEquals(cross.size(), 12); Pair<String,String> p = new Pair<String,String>("dingleberry", "cranberry"); assertTrue(cross.contains(p)); } public void testDiff() { Set<String> diff = Sets.diff(s1, s2); assertEquals(diff.size(), 2); assertTrue(diff.contains("cherry")); assertFalse(diff.contains("apple")); } public void testUnion() { Set<String> union = Sets.union(s1, s2); assertEquals(union.size(), 5); assertTrue(union.contains("cherry")); assertFalse(union.contains("fungus")); } public void testIntersection() { Set<String> intersection = Sets.intersection(s1, s2); assertEquals(intersection.size(), 2); assertTrue(intersection.contains("apple")); assertFalse(intersection.contains("cherry")); } public void testPowerset() { Set<Set<String>> pow = Sets.powerSet(s1); assertEquals(pow.size(), 16); } }