added test for IS_SET and IS_NOT_SET
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 1787557..5c18dec 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
@@ -56,6 +56,33 @@
 	}
 	
 
+	@Test
+	public void testIsSet() throws Exception {
+		BoolFilter filter;
+		filter = new BoolFilter(Operator.IS_SET, true, attributeDefinition);
+		doMatch(filter, true);
+		
+		AttributeDefinitionBoolean nonExistingAttributeDefinition = ReqIF10Factory.eINSTANCE.createAttributeDefinitionBoolean();
+		nonExistingAttributeDefinition.setIdentifier("AD_ID0");
+		
+		filter = new BoolFilter(Operator.IS, false, nonExistingAttributeDefinition);
+		doMatch(filter, false);
+	}
+	
+	
+	@Test
+	public void testIsNotSet() throws Exception {
+		BoolFilter filter;
+		filter = new BoolFilter(Operator.IS_NOT_SET, true, attributeDefinition);
+		doMatch(filter, false);
+		
+		AttributeDefinitionBoolean nonExistingAttributeDefinition = ReqIF10Factory.eINSTANCE.createAttributeDefinitionBoolean();
+		nonExistingAttributeDefinition.setIdentifier("AD_ID1");
+		
+		filter = new BoolFilter(Operator.IS_NOT_SET, false, nonExistingAttributeDefinition);
+		doMatch(filter, true);
+	}	
+	
 	
 	/* 
 	 * A match on a specObject that does not contain this attribute should always return false
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 f899f92..523ea6a 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
@@ -123,10 +123,17 @@
 		
 		filter = new DateFilter(IFilter.Operator.BETWEEN, new GregorianCalendar(2014, 12, 01), new GregorianCalendar(2014, 12, 04), attributeDefinition);
 		doMatch(filter, true);
+		filter = new DateFilter(IFilter.Operator.BETWEEN, new GregorianCalendar(2014, 12, 04), new GregorianCalendar(2014, 12, 01), attributeDefinition);
+		doMatch(filter, true);
 
 		filter = new DateFilter(IFilter.Operator.BETWEEN, new GregorianCalendar(2014, 12, 03), new GregorianCalendar(2014, 12, 03), attributeDefinition);
 		doMatch(filter, true);
 		
+		filter = new DateFilter(IFilter.Operator.BETWEEN, new GregorianCalendar(2014, 12, 01), new GregorianCalendar(2014, 12, 03), attributeDefinition);
+		doMatch(filter, true);
+		filter = new DateFilter(IFilter.Operator.BETWEEN, new GregorianCalendar(2014, 12, 03), new GregorianCalendar(2014, 12, 06), attributeDefinition);
+		doMatch(filter, true);
+		
 		filter = new DateFilter(IFilter.Operator.BETWEEN, new GregorianCalendar(2014, 01, 01), new GregorianCalendar(2014, 12, 01), attributeDefinition);
 		doMatch(filter, false);
 	}
@@ -244,6 +251,22 @@
 	
 	
 	@Test
+	public void testIsNotSet() throws Exception {
+		DateFilter filter;
+		
+		filter = new DateFilter(IFilter.Operator.IS_NOT_SET, new GregorianCalendar(2014, 1, 1), null, attributeDefinition);
+		doMatch(filter, false);
+		
+		AttributeDefinitionDate attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionDate();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new DateFilter(IFilter.Operator.IS_NOT_SET, new GregorianCalendar(2014, 1, 1), null, attributeDefinition2);
+		doMatch(filter, true);
+	}
+	
+	
+	
+	@Test
 	public void testIsSetInternal() throws Exception {
 		DateFilter filter;
 		
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 cbb6a2f..0a48912 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
@@ -150,6 +150,37 @@
 		doMatch(filter, false);
 	}
 	
+	
+	
+	@Test
+	public void testIsSet() throws Exception {
+		EnumFilter filter;
+		
+		filter = new EnumFilter(IFilter.Operator.IS_SET, specifiedValues, attributeDefinition);
+		doMatch(filter, true);
+		
+		AttributeDefinitionEnumeration attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionEnumeration();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new EnumFilter(IFilter.Operator.IS_SET, specifiedValues, attributeDefinition2);
+		doMatch(filter, false);
+	}
+	
+	
+	@Test
+	public void testIsNotSet() throws Exception {
+		EnumFilter filter;
+		
+		filter = new EnumFilter(IFilter.Operator.IS_NOT_SET, specifiedValues, attributeDefinition);
+		doMatch(filter, false);
+		
+		AttributeDefinitionEnumeration attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionEnumeration();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new EnumFilter(IFilter.Operator.IS_NOT_SET, specifiedValues, attributeDefinition2);
+		doMatch(filter, true);
+	}	
+	
 
 	@Override
 	public void doEmptyTest() throws Exception {
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 f424f72..259bcdd 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
@@ -115,6 +115,35 @@
 	}
 	
 	
+	@Test
+	public void testIsSet() throws Exception {
+		NumberFilter filter;
+		
+		filter = new NumberFilter(Operator.IS_SET, new BigInteger("2"), null, attributeDefinition);
+		doMatch(filter, true);
+		
+		AttributeDefinitionInteger attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionInteger();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new NumberFilter(Operator.IS_SET, new BigInteger("2"), null, attributeDefinition2);
+		doMatch(filter, false);
+	}
+	
+	
+	@Test
+	public void testIsNotSet() throws Exception {
+		NumberFilter filter;
+		
+		filter = new NumberFilter(Operator.IS_NOT_SET, new BigInteger("2"), null, attributeDefinition);
+		doMatch(filter, false);
+		
+		AttributeDefinitionInteger attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionInteger();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new NumberFilter(Operator.IS_NOT_SET, new BigInteger("2"), null, attributeDefinition2);
+		doMatch(filter, true);
+	}	
+	
 	
 	@Override
 	public IFilter createFilterInstance(Operator operator) {
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 e55db36..a5a2e94 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
@@ -12,6 +12,7 @@
 
 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;
@@ -114,6 +115,36 @@
 	}
 	
 	
+	@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, true);
+	}	
+	
+	
 	
 	@Override
 	public IFilter createFilterInstance(Operator operator) {
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 6493fba..c8a3e14 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
@@ -230,16 +230,31 @@
 	
 	@Test
 	public void testIsSet() throws Exception {
-		AttributeDefinitionString attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionString();
-		attributeDefinition2.setIdentifier("AD_ID1");
+		StringFilter filter;
 		
-		StringFilter filter = new StringFilter(IFilter.Operator.IS_SET, "",  attributeDefinition2, false);
-		doMatch(filter, false);
-
 		filter = new StringFilter(IFilter.Operator.IS_SET, "",  attributeDefinition, false);
 		doMatch(filter, true);
 		
-		fail("write more tests here");
+		AttributeDefinitionString attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionString();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new StringFilter(IFilter.Operator.IS_SET, "",  attributeDefinition2, false);
+		doMatch(filter, false);
+	}
+	
+	
+	@Test
+	public void testIsNotSet() throws Exception {
+		StringFilter filter;
+		
+		filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "",  attributeDefinition, false);
+		doMatch(filter, false);
+		
+		AttributeDefinitionString attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionString();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		filter = new StringFilter(IFilter.Operator.IS_NOT_SET, "",  attributeDefinition2, false);
+		doMatch(filter, true);
 	}
 	
 	
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 85fcd0c..c76177e 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
@@ -22,6 +22,7 @@
 import org.eclipse.rmf.reqif10.AttributeDefinitionXHTML;
 import org.eclipse.rmf.reqif10.AttributeValueXHTML;
 import org.eclipse.rmf.reqif10.ReqIF;
+import org.eclipse.rmf.reqif10.ReqIF10Factory;
 import org.eclipse.rmf.reqif10.SpecObject;
 import org.eclipse.rmf.reqif10.common.util.ReqIF10Util;
 import org.eclipse.rmf.reqif10.search.filter.IFilter;
@@ -105,9 +106,33 @@
 		doMatch(xhtmlFilter, true);
 	}	
 	
+	@Test
+	public void testIsSet() throws Exception {
+		XhtmlFilter xhtmlFilter;
+		
+		xhtmlFilter = new XhtmlFilter(IFilter.Operator.IS_SET, "hello",  attributeDefinition, true);
+		doMatch(xhtmlFilter, true);
+		
+		AttributeDefinitionXHTML attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionXHTML();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		xhtmlFilter = new XhtmlFilter(IFilter.Operator.IS_SET, "hello",  attributeDefinition2, true);
+		doMatch(xhtmlFilter, false);
+	}
 	
-	
-	
+	@Test
+	public void testIsNotSet() throws Exception {
+		XhtmlFilter xhtmlFilter;
+		
+		xhtmlFilter = new XhtmlFilter(IFilter.Operator.IS_NOT_SET, "hello",  attributeDefinition, true);
+		doMatch(xhtmlFilter, false);
+		
+		AttributeDefinitionXHTML attributeDefinition2 = ReqIF10Factory.eINSTANCE.createAttributeDefinitionXHTML();
+		attributeDefinition2.setIdentifier("AD_ID1");
+		
+		xhtmlFilter = new XhtmlFilter(IFilter.Operator.IS_NOT_SET, "hello",  attributeDefinition2, true);
+		doMatch(xhtmlFilter, true);
+	}
 
 
 	@Test