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 {
+	
+	}
+
+}