adopted unitTest to refactoring of IS_SET, IS_NOT_SET operators
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AttributeTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AttributeTest.java
new file mode 100644
index 0000000..ee51680
--- /dev/null
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AttributeTest.java
@@ -0,0 +1,121 @@
+package org.eclipse.rmf.reqif10.search.test;
+
+import java.util.GregorianCalendar;
+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.SpecObjectType;
+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.Test;
+
+public class AttributeTest extends AbstractFilterTest{
+
+ private AttributeDefinitionString attributeDefinition;
+
+
+ @Test
+ public void testIsSet() throws Exception {
+ StringFilter filter;
+
+ // The attribute is defined and a value is set
+ createFixture("test", true);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", attributeDefinition, false);
+ doMatch(filter, true);
+
+ // The attribute is defined and the value is null
+ createFixture(null, true);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", attributeDefinition, false);
+ doMatch(filter, false);
+
+ // The attribute is not defined
+ createFixture(null, false);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", attributeDefinition, false);
+ doMatch(filter, false);
+ }
+
+ @Test
+ public void testIsNotSet() throws Exception {
+ /* is not set: return true only if the attribute exisits, but is not set (irrespective of default value).
+ */
+ StringFilter filter;
+
+ // The attribute is defined and a value is set
+ createFixture("test", true);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", attributeDefinition, false);
+ doMatch(filter, false);
+
+ // The attribute is defined and the value is null
+ createFixture(null, true);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", attributeDefinition, false);
+ doMatch(filter, true);
+
+ // The attribute is not defined
+ createFixture(null, false);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", attributeDefinition, false);
+ doMatch(filter, false);
+
+ }
+
+
+ public void createFixture(Object value, boolean withAttribute) {
+ String theValue = (String) value;
+
+ 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);
+ if (value != null){
+ 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");
+
+ SpecObjectType specObjectType = ReqIF10Factory.eINSTANCE.createSpecObjectType();
+ if (withAttribute){
+ specObjectType.getSpecAttributes().add(attributeDefinition);
+ }
+ specObject.setType(specObjectType);
+
+ setFixture(specObject);
+ }
+
+ @Override
+ public void createFixture(Object value) {
+ createFixture(value, true);
+ }
+
+ @Override
+ public Set<Operator> getSupportedOperators() {
+ return StringFilter.SUPPORTED_OPERATORS;
+ }
+
+ @Override
+ public IFilter createFilterInstance(Operator operator) {
+ return new StringFilter(operator, "", attributeDefinition, true);
+ }
+
+ @Override
+ public void doEmptyTest() throws Exception {
+ // Do nothing
+ }
+
+ @Override
+ public void testOnEmptyAttribute() throws Exception {
+ // Do nothing
+ }
+
+}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterDefaultsTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterDefaultsTest.java
index 917a3b9..1e37382 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterDefaultsTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterDefaultsTest.java
@@ -54,5 +54,15 @@
setFixture(specObject);
}
+
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterTest.java
index 93378a9..7bd75bf 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/BoolFilterTest.java
@@ -80,7 +80,7 @@
nonExistingAttributeDefinition.setIdentifier("AD_ID1");
filter = new BoolFilter(Operator.IS_NOT_SET, false, nonExistingAttributeDefinition);
- doMatch(filter, true);
+ doMatch(filter, false);
}
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 26f0d54..018ceae 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
@@ -54,4 +54,15 @@
setFixture(specObject);
}
+
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
}
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 c76b193..cf9a434 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
@@ -286,7 +286,7 @@
attributeDefinition2.setIdentifier("AD_ID1");
filter = new DateFilter(IFilter.Operator.IS_NOT_SET, new GregorianCalendar(2014, 1, 1), null, attributeDefinition2);
- doMatch(filter, true);
+ doMatch(filter, false);
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterDefaultsTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterDefaultsTest.java
index 065d257..4280e1d 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterDefaultsTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterDefaultsTest.java
@@ -54,4 +54,14 @@
setFixture(specObject);
}
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterTest.java
index 97e720d..c70badc 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/EnumFilterTest.java
@@ -178,7 +178,7 @@
attributeDefinition2.setIdentifier("AD_ID1");
filter = new EnumFilter(IFilter.Operator.IS_NOT_SET, specifiedValues, attributeDefinition2);
- doMatch(filter, true);
+ doMatch(filter, false);
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterDefaultsTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterDefaultsTest.java
index 0b06cc0..29b5d92 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterDefaultsTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterDefaultsTest.java
@@ -51,4 +51,14 @@
setFixture(specObject);
}
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterTest.java
index 5bbf62c..7eeab00 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/IntegerFilterTest.java
@@ -141,7 +141,7 @@
attributeDefinition2.setIdentifier("AD_ID1");
filter = new NumberFilter(Operator.IS_NOT_SET, new BigInteger("2"), null, attributeDefinition2);
- doMatch(filter, true);
+ doMatch(filter, false);
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterDefaultsTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterDefaultsTest.java
index c5c5d1c..4313dc9 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterDefaultsTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterDefaultsTest.java
@@ -56,5 +56,16 @@
setFixture(specObject);
}
+
+
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterTest.java
index 813790e..9c48206 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/RealFilterTest.java
@@ -141,7 +141,7 @@
attributeDefinition2.setIdentifier("AD_ID1");
filter = new NumberFilter(Operator.IS_NOT_SET, new Double("2"), null, attributeDefinition2);
- doMatch(filter, true);
+ doMatch(filter, false);
}
@@ -187,6 +187,7 @@
attributeValue.setDefinition(attributeDefinition);
if (theValue != null){
+ System.out.println("seeting the value " + theValue);
attributeValue.setTheValue(theValue);
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterDefaultsValueTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterDefaultsValueTest.java
index 9ac621b..9206478 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterDefaultsValueTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/StringFilterDefaultsValueTest.java
@@ -26,30 +26,6 @@
// Do nothing, since this test will fall back on default values
}
-// @Override
-// @Test
-// public void testIsSet() throws Exception {
-// fail("not yet implemented");
-// }
-//
-// @Override
-// @Test
-// public void testNotContains() throws Exception {
-// fail("not yet implemented");
-// }
-//
-// @Override
-// @Test
-// public void testContains() throws Exception {
-// fail("not yet implemented");
-// }
-//
-// @Override
-// @Test
-// public void testIsNotSet() throws Exception {
-// fail("not yet implemented");
-// }
-//
/**
* Sets the value as the defaultValue.
@@ -87,5 +63,15 @@
}
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
}
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 0cb75d9..bf77a6d 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
@@ -27,6 +27,7 @@
import org.eclipse.rmf.reqif10.DatatypeDefinitionString;
import org.eclipse.rmf.reqif10.ReqIF;
import org.eclipse.rmf.reqif10.ReqIF10Factory;
+import org.eclipse.rmf.reqif10.SpecElementWithAttributes;
import org.eclipse.rmf.reqif10.SpecObject;
import org.eclipse.rmf.reqif10.common.util.ReqIF10Util;
import org.eclipse.rmf.reqif10.search.filter.AbstractTextFilter;
@@ -254,16 +255,46 @@
attributeDefinition2.setIdentifier("AD_ID1");
filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", attributeDefinition2, false);
- doMatch(filter, true);
+ doMatch(filter, false);
}
@Test
public void isSetInternal() throws Exception {
- StringFilter filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.DESC, false);
+ StringFilter filter;
+
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.DESC, false);
+ doMatch(filter, true);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.IDENTIFIER, false);
+ doMatch(filter, true);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.LONG_NAME, false);
doMatch(filter, true);
- fail("write more tests here");
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", AbstractTextFilter.InternalAttribute.DESC, false);
+ doMatch(filter, false);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", AbstractTextFilter.InternalAttribute.IDENTIFIER, false);
+ doMatch(filter, false);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", AbstractTextFilter.InternalAttribute.LONG_NAME, false);
+ doMatch(filter, false);
+
+ SpecElementWithAttributes specObject = getFixture();
+ specObject.setDesc(null);
+ specObject.setLongName(null);
+ specObject.setIdentifier(null);
+
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.DESC, false);
+ doMatch(filter, false);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.IDENTIFIER, false);
+ doMatch(filter, false);
+ filter = new StringFilter(IFilter.Operator.IS_SET, "", AbstractTextFilter.InternalAttribute.LONG_NAME, false);
+ doMatch(filter, false);
+
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", AbstractTextFilter.InternalAttribute.DESC, false);
+ doMatch(filter, true);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", AbstractTextFilter.InternalAttribute.IDENTIFIER, false);
+ doMatch(filter, true);
+ filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "", AbstractTextFilter.InternalAttribute.LONG_NAME, false);
+ doMatch(filter, true);
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterDefaultsTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterDefaultsTest.java
index 7f2f72b..19c3d80 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterDefaultsTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterDefaultsTest.java
@@ -58,4 +58,15 @@
}
}
+
+ @Override
+ public void testIsSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
+ @Override
+ public void testIsNotSet() throws Exception {
+ // super would fail because of the changed fixture
+ }
+
}
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterTest.java
index 554d337..5d430f4 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/XhtmlFilterTest.java
@@ -131,7 +131,7 @@
attributeDefinition2.setIdentifier("AD_ID1");
xhtmlFilter = new XhtmlFilter(IFilter.Operator.IS_NOT_SET, "hello", attributeDefinition2, true);
- doMatch(xhtmlFilter, true);
+ doMatch(xhtmlFilter, false);
}