more UnitTests
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterDefaultsTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterDefaultsTest.java
index 018ceae..f168f4b 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterDefaultsTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterDefaultsTest.java
@@ -47,7 +47,7 @@
SpecObject specObject = ReqIF10Factory.eINSTANCE.createSpecObject();
//specObject.getValues().add(attributeValue);
- specObject.setLastChange(new GregorianCalendar(2014, 11, 03));
+ specObject.setLastChange(new GregorianCalendar(2014, 11, 03, 12, 0, 0));
createSpecObjectType(specObject, attributeDefinition);
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterTest.java
index 6afc3f9..0e54fdb 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/DateFilterTest.java
@@ -226,6 +226,12 @@
filter = new DateFilter(IFilter.Operator.AFTER, new GregorianCalendar(3000, 1, 1), null, DateFilter.InternalAttribute.LAST_CHANGE);
doMatch(filter, false);
+ filter = new DateFilter(IFilter.Operator.AFTER, new GregorianCalendar(2014, 11, 02), null, DateFilter.InternalAttribute.LAST_CHANGE);
+ doMatch(filter, true);
+
+ filter = new DateFilter(IFilter.Operator.AFTER, new GregorianCalendar(2014, 11, 03, 0, 0, 0), null, DateFilter.InternalAttribute.LAST_CHANGE);
+ doMatch(filter, true);
+
filter = new DateFilter(IFilter.Operator.AFTER, new GregorianCalendar(2014, 11, 03), null, DateFilter.InternalAttribute.LAST_CHANGE);
doMatch(filter, true);
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterInternalTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterInternalTest.java
new file mode 100644
index 0000000..e53265c
--- /dev/null
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterInternalTest.java
@@ -0,0 +1,151 @@
+package org.eclipse.rmf.reqif10.search.test;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Set;
+
+import org.eclipse.rmf.reqif10.AttributeDefinitionString;
+import org.eclipse.rmf.reqif10.AttributeValueString;
+import org.eclipse.rmf.reqif10.DatatypeDefinitionString;
+import org.eclipse.rmf.reqif10.ReqIF10Factory;
+import org.eclipse.rmf.reqif10.SpecObject;
+import org.eclipse.rmf.reqif10.search.filter.AbstractTextFilter;
+import org.eclipse.rmf.reqif10.search.filter.AbstractTextFilter.InternalAttribute;
+import org.eclipse.rmf.reqif10.search.filter.IFilter;
+import org.eclipse.rmf.reqif10.search.filter.IFilter.Operator;
+import org.eclipse.rmf.reqif10.search.filter.StringFilter;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+
+@RunWith(Parameterized.class)
+public class StringFilterInternalTest extends AbstractFilterTest {
+
+ @Parameters
+ public static Collection<Object[]> data() {
+
+ /*
+ * AbstractTextFilter.InternalAttribute.DESC => THE_SPECOBJECT_DESC
+ * AbstractTextFilter.InternalAttribute.IDENTIFIER => THE_SPECOBJECT_ID
+ * AbstractTextFilter.InternalAttribute.LONG_NAME => THE_SPECOBJECT_LONG_NAME
+ *
+ * Operator, FilterValue, Attribute, expectedResult
+ *
+ */
+
+
+ HashMap<InternalAttribute, String> values = new HashMap<AbstractTextFilter.InternalAttribute, String>();
+ values.put(AbstractTextFilter.InternalAttribute.DESC, "THE_SPECOBJECT_DESC");
+ values.put(AbstractTextFilter.InternalAttribute.IDENTIFIER, "THE_SPECOBJECT_ID");
+ values.put(AbstractTextFilter.InternalAttribute.LONG_NAME, "THE_SPECOBJECT_LONG_NAME");
+
+
+ ArrayList<Object[]> testData = new ArrayList<Object[]>();
+
+ Operator operator = IFilter.Operator.EQUALS;
+ for (AbstractTextFilter.InternalAttribute attribute : values.keySet()) {
+ testData.add(new Object[] {
+ operator, values.get(attribute), attribute, true,
+ true });
+ testData.add(new Object[] {
+ operator, values.get(attribute).toLowerCase(), attribute, false,
+ true });
+ testData.add(new Object[] {
+ operator, values.get(attribute).toLowerCase(), attribute, true,
+ false });
+ }
+
+
+ return testData;
+
+ }
+
+ Operator operator;
+ String filterValue;
+ AbstractTextFilter.InternalAttribute attribute;
+ boolean caseSensitive;
+ boolean expectedResult;
+
+
+
+ public StringFilterInternalTest(Operator operator, String filterValue, AbstractTextFilter.InternalAttribute attribute, Boolean caseSensitive, Boolean expectedResult) {
+ this.operator = operator;
+ this.filterValue = filterValue;
+ this.attribute = attribute;
+ this.expectedResult = expectedResult;
+ this.caseSensitive = caseSensitive;
+ }
+
+
+ @Test
+ public void testFilter() throws Exception {
+ System.out.println("running " + this.operator + " " + this.filterValue + " on " + attribute + "expecting " + expectedResult);
+
+ StringFilter filter = new StringFilter(operator, filterValue, attribute, caseSensitive);
+ doMatch(filter, expectedResult);
+ }
+
+
+
+ @Before
+ public void setUp(){
+ createFixture("abcDEF");
+ }
+
+ @Override
+ public void createFixture(Object value) {
+ String theValue = (String) value;
+
+ AttributeDefinitionString attributeDefinition = ReqIF10Factory.eINSTANCE.createAttributeDefinitionString();
+ attributeDefinition.setIdentifier("AD_ID0");
+ DatatypeDefinitionString definition = ReqIF10Factory.eINSTANCE.createDatatypeDefinitionString();
+ definition.setIdentifier("DD_ID0");
+ attributeDefinition.setType(definition);
+ AttributeValueString attributeValue = ReqIF10Factory.eINSTANCE.createAttributeValueString();
+ attributeValue.setDefinition(attributeDefinition);
+ attributeValue.setTheValue(theValue);
+ SpecObject specObject = ReqIF10Factory.eINSTANCE.createSpecObject();
+ specObject.getValues().add(attributeValue);
+ specObject.setLastChange(new GregorianCalendar(2014, 12, 03));
+ specObject.setIdentifier("THE_SPECOBJECT_ID");
+ specObject.setDesc("THE_SPECOBJECT_DESC");
+ specObject.setLongName("THE_SPECOBJECT_LONG_NAME");
+
+ createSpecObjectType(specObject, attributeDefinition);
+
+ setFixture(specObject);
+ }
+
+
+
+
+ @Override
+ public Set<Operator> getSupportedOperators() {
+ // TODO Auto-generated method stub
+ 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 {
+
+ }
+
+}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterTest.java
index bf77a6d..6a1d37f 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterTest.java
@@ -13,7 +13,6 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.GregorianCalendar;
import java.util.Set;
@@ -149,12 +148,7 @@
doMatch(filter, true);
}
-
- @Test
- public void testInternalFeatures() throws Exception {
- fail("not yet implemented");
- }
-
+
@Override
public void doEmptyTest(){
@@ -310,6 +304,7 @@
}
+
@Override
public void createFixture(Object value) {
@@ -333,7 +328,6 @@
createSpecObjectType(specObject, attributeDefinition);
setFixture(specObject);
-
}
}