more UnitTests
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/CompoundFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/CompoundFilterTest.java
new file mode 100644
index 0000000..775c3ab
--- /dev/null
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/CompoundFilterTest.java
@@ -0,0 +1,129 @@
+package org.eclipse.rmf.reqif10.search.test;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.rmf.reqif10.AttributeDefinitionBoolean;
+import org.eclipse.rmf.reqif10.AttributeValueBoolean;
+import org.eclipse.rmf.reqif10.DatatypeDefinitionBoolean;
+import org.eclipse.rmf.reqif10.ReqIF10Factory;
+import org.eclipse.rmf.reqif10.SpecElementWithAttributes;
+import org.eclipse.rmf.reqif10.SpecObject;
+import org.eclipse.rmf.reqif10.search.filter.BoolFilter;
+import org.eclipse.rmf.reqif10.search.filter.IFilter;
+import org.eclipse.rmf.reqif10.search.filter.IFilter.Operator;
+import org.eclipse.rmf.reqif10.search.filter.SimpleCompoundFilter;
+import org.junit.Before;
+import org.junit.Test;
+
+public class CompoundFilterTest extends AbstractFilterTest {
+
+ private AttributeDefinitionBoolean attributeDefinition1;
+ private AttributeDefinitionBoolean attributeDefinition2;
+ private AttributeDefinitionBoolean attributeDefinition3;
+ private BoolFilter filterTrue1;
+ private BoolFilter filterTrue2;
+ private BoolFilter filterFalse1;
+ private List<IFilter> filters;
+
+ @Before
+ public void setUp() {
+ createFixture(true);
+
+ filterTrue1 = new BoolFilter(IFilter.Operator.IS, true, attributeDefinition1);
+ filterTrue2 = new BoolFilter(IFilter.Operator.IS, true, attributeDefinition2);
+ filterFalse1 = new BoolFilter(IFilter.Operator.IS, true, attributeDefinition3);
+
+ filters = new ArrayList<IFilter>();
+ filters.add(filterTrue1);
+ filters.add(filterTrue2);
+ filters.add(filterFalse1);
+ }
+
+
+ @Test
+ public void testOr() throws Exception {
+ SimpleCompoundFilter filter = new SimpleCompoundFilter(filters, true);
+ doMatch(filter, true);
+ }
+
+
+ @Test
+ public void testAnd() throws Exception {
+ SimpleCompoundFilter filter = new SimpleCompoundFilter(filters, false);
+ doMatch(filter, true);
+ }
+
+ @Test
+ public void testAnd2() throws Exception {
+ filters.clear();
+ filters.add(filterTrue1);
+ filters.add(filterTrue2);
+
+ SimpleCompoundFilter filter = new SimpleCompoundFilter(filters, false);
+ doMatch(filter, true);
+ }
+
+ @Override
+ public void createFixture(Object value) {
+ if ((value != null) && !(value instanceof Boolean)) {
+ throw new IllegalArgumentException();
+ }
+
+
+ SpecObject specObject = ReqIF10Factory.eINSTANCE.createSpecObject();
+ attributeDefinition1 = createBooleanAttribute(specObject, true);
+ attributeDefinition2 = createBooleanAttribute(specObject, true);
+ attributeDefinition3 = createBooleanAttribute(specObject, false);
+
+ createSpecObjectType(specObject, attributeDefinition1);
+
+ setFixture(specObject);
+ }
+
+
+
+ /* creates a new datatypeDefinition, attributeDefinition and attributeValue and adds it to the element
+ *
+ * returns the newly created AttributeDefinition
+ */
+ private AttributeDefinitionBoolean createBooleanAttribute(SpecElementWithAttributes element, Boolean value){
+ AttributeDefinitionBoolean attributeDefinition = ReqIF10Factory.eINSTANCE.createAttributeDefinitionBoolean();
+ attributeDefinition.setIdentifier("AD_ID0");
+ DatatypeDefinitionBoolean definition = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionBoolean();
+ definition.setIdentifier("DD_ID0");
+ attributeDefinition.setType(definition);
+ AttributeValueBoolean attributeValue = ReqIF10Factory.eINSTANCE.createAttributeValueBoolean();
+ attributeValue.setDefinition(attributeDefinition);
+ attributeValue.setTheValue((Boolean) value);
+
+ element.getValues().add(attributeValue);
+
+ return attributeDefinition;
+ }
+
+
+ @Override
+ public Set<Operator> getSupportedOperators() {
+ return null;
+ }
+
+ @Override
+ public IFilter createFilterInstance(Operator operator) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void doEmptyTest() throws Exception {
+ // TODO Auto-generated method stub
+ }
+
+
+ @Override
+ public void testExceptionsUnsupportedOperation() throws Exception {
+
+ }
+
+}