| /******************************************************************************* |
| * Copyright (c) 2014 Formal Mind GmbH. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Ingo Weigelt - initial API and implementation |
| ******************************************************************************/ |
| package org.eclipse.rmf.reqif10.search.test; |
| |
| import java.util.Set; |
| |
| import org.eclipse.rmf.reqif10.AttributeDefinitionInteger; |
| import org.eclipse.rmf.reqif10.AttributeDefinitionReal; |
| import org.eclipse.rmf.reqif10.AttributeValueReal; |
| import org.eclipse.rmf.reqif10.DatatypeDefinitionReal; |
| import org.eclipse.rmf.reqif10.ReqIF10Factory; |
| import org.eclipse.rmf.reqif10.SpecObject; |
| import org.eclipse.rmf.reqif10.search.filter.IFilter; |
| import org.eclipse.rmf.reqif10.search.filter.IFilter.Operator; |
| import org.eclipse.rmf.reqif10.search.filter.NumberFilter; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| public class RealFilterTest extends AbstractFilterTest { |
| |
| |
| AttributeDefinitionReal attributeDefinition; |
| |
| |
| |
| @Before |
| public void setUp(){ |
| createFixture(new Double("1")); |
| } |
| |
| |
| @Test |
| public void testIs() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.IS, new Double("1"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.IS, new Double("0"), null, attributeDefinition); |
| doMatch(filter, false); |
| } |
| |
| @Test |
| public void testIsNot() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.IS_NOT, new Double("0"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.IS_NOT, new Double("1"), null, attributeDefinition); |
| doMatch(filter, false); |
| } |
| |
| @Test |
| public void testBetween() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.BETWEEN, new Double("0"), new Double("2"), attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.BETWEEN, new Double("0"), new Double("1"), attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.BETWEEN, new Double("1"), new Double("2"), attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.BETWEEN, new Double("2"), new Double("3"), attributeDefinition); |
| doMatch(filter, false); |
| |
| filter = new NumberFilter(Operator.BETWEEN, new Double("3"), new Double("0"), attributeDefinition); |
| doMatch(filter, false); |
| } |
| |
| @Test |
| public void testGreater() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.GREATER, new Double("0"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.GREATER, new Double("1"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.GREATER, new Double("2"), null, attributeDefinition); |
| doMatch(filter, false); |
| |
| filter = new NumberFilter(Operator.GREATER, new Double("0"), new Double("2"), attributeDefinition); |
| doMatch(filter, true); |
| } |
| |
| |
| @Test |
| public void testSmaller() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.SMALLER, new Double("2"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.SMALLER, new Double("1"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.SMALLER, new Double("0"), null, attributeDefinition); |
| doMatch(filter, false); |
| |
| filter = new NumberFilter(Operator.SMALLER, new Double("0"), new Double("2"), attributeDefinition); |
| doMatch(filter, false); |
| } |
| |
| |
| @Test |
| public void testIsSet() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.IS_SET, new Double("2"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| AttributeDefinitionReal attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionReal(); |
| attributeDefinition2.setIdentifier("AD_ID1"); |
| |
| filter = new NumberFilter(Operator.IS_SET, new Double("2"), null, attributeDefinition2); |
| doMatch(filter, false); |
| } |
| |
| |
| @Test |
| public void testIsNotSet() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.IS_NOT_SET, new Double("2"), null, attributeDefinition); |
| doMatch(filter, false); |
| |
| AttributeDefinitionInteger attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionInteger(); |
| attributeDefinition2.setIdentifier("AD_ID1"); |
| |
| filter = new NumberFilter(Operator.IS_NOT_SET, new Double("2"), null, attributeDefinition2); |
| doMatch(filter, false); |
| } |
| |
| |
| |
| @Override |
| public IFilter createFilterInstance(Operator operator) { |
| return new NumberFilter(operator, new Double(0), null, attributeDefinition); |
| } |
| |
| |
| |
| @Override |
| public void doEmptyTest() throws Exception { |
| NumberFilter filter; |
| |
| filter = new NumberFilter(Operator.IS, new Double("0"), null, attributeDefinition); |
| doMatch(filter, false); |
| |
| filter = new NumberFilter(Operator.IS_NOT, new Double("10"), null, attributeDefinition); |
| doMatch(filter, true); |
| |
| filter = new NumberFilter(Operator.BETWEEN, new Double("0"), new Double("10"), attributeDefinition); |
| doMatch(filter, false); |
| |
| filter = new NumberFilter(Operator.GREATER, new Double("0"), null, attributeDefinition); |
| doMatch(filter, false); |
| |
| filter = new NumberFilter(Operator.SMALLER, new Double("0"), null, attributeDefinition); |
| doMatch(filter, false); |
| } |
| |
| |
| @Override |
| public void createFixture(Object value) { |
| Double theValue = (Double) value; |
| |
| attributeDefinition = ReqIF10Factory.eINSTANCE.createAttributeDefinitionReal(); |
| attributeDefinition.setIdentifier("AD_ID0"); |
| DatatypeDefinitionReal definition = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionReal(); |
| definition.setIdentifier("DD_ID0"); |
| attributeDefinition.setType(definition); |
| AttributeValueReal attributeValue = ReqIF10Factory.eINSTANCE.createAttributeValueReal(); |
| attributeValue.setDefinition(attributeDefinition); |
| |
| if (theValue != null){ |
| System.out.println("seeting the value " + theValue); |
| attributeValue.setTheValue(theValue); |
| } |
| |
| SpecObject specObject = ReqIF10Factory.eINSTANCE.createSpecObject(); |
| specObject.getValues().add(attributeValue); |
| |
| createSpecObjectType(specObject, attributeDefinition); |
| |
| setFixture(specObject); |
| } |
| |
| |
| @Override |
| public Set<Operator> getSupportedOperators() { |
| return NumberFilter.SUPPORTED_OPERATORS; |
| } |
| |
| } |