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