//This product is provided under the terms of EPL (Eclipse Public License)
//version 1.0.
//
//The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php
package org.dtangler.core.configuration;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.HashSet;
import java.util.Set;
import org.dtangler.core.ruleanalysis.GroupRuleMember;
import org.junit.Test;
public class GroupTest {
@Test
public void testEquals() {
Group a = createGroup("A", "1", "2");
Group b = createGroup("A", "1", "2");
Group c = createGroup("A", "2", "2");
assertTrue(a.equals(b));
assertTrue(b.equals(a));
assertFalse(a.equals(c));
assertFalse(b.equals(c));
}
@Test
public void testGroupsWithExcludedItems() {
Set<String> containedItems = new HashSet();
containedItems.add("org.*");
Set<String> excludedItems = new HashSet();
excludedItems.add("org.public");
Set<String> excludedItems2 = new HashSet();
excludedItems2.add("org.public2");
Group a = new Group("A", containedItems, excludedItems);
Group b = new Group("A", containedItems, excludedItems);
Group c = new Group("A", containedItems, excludedItems2);
assertTrue(a.equals(b));
assertTrue(b.equals(a));
assertFalse(a.equals(c));
assertFalse(c.equals(b));
}
@Test
public void testEqualsOthers() {
Group a = createGroup("A", "1", "2");
assertFalse(a.equals(new Object()));
assertFalse(a.equals(null));
assertFalse(a.equals(new GroupRuleMember(a)));
}
protected Group createGroup(String name, String... items) {
Set<String> groupItems = new HashSet();
for (String item : items)
groupItems.add(item);
return new Group(name, groupItems);
}
}