additional tests
diff --git a/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java b/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java
index 46a06bf..98cee43 100644
--- a/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java
+++ b/org.eclipse.virgo.repository/src/main/java/org/eclipse/virgo/repository/builder/ArtifactDescriptorBuilder.java
@@ -59,18 +59,6 @@
     }
 
     /**
-     * Sets the URI for the {@link ArtifactDescriptor} being created. This method converts the {@link String} to a
-     * proper {@link URI} internally. This conversion may fail if the input is not a properly formed URI string.
-     * 
-     * @param uri the URI for the {@link ArtifactDescriptor} being created
-     * @return <code>this</code> {@link ArtifactDescriptorBuilder}
-     */
-    public ArtifactDescriptorBuilder setUri(String uri) {
-        this.uri = URI.create(uri);
-        return this;
-    }
-
-    /**
      * Sets the type for the {@link ArtifactDescriptor} being created
      * 
      * @param type the type for the {@link ArtifactDescriptor} being created
diff --git a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java
index 8ceb365..8883320 100644
--- a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java
+++ b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/StandardQueryTests.java
@@ -30,7 +30,6 @@
 import org.junit.Test;
 import org.osgi.framework.Version;
 
-
 /**
  * 
  */
@@ -130,29 +129,33 @@
         assertTrue("toString dosn't contain all the required information", toString.contains("foo=bar"));
         assertTrue("toString dosn't contain all the required information", toString.contains("2"));
     }
-    
-    private final Set<Attribute> EMTPY_ATTRIBUTE_SET = Collections.<Attribute>emptySet();
+
+    private final Set<Attribute> EMTPY_ATTRIBUTE_SET = Collections.<Attribute> emptySet();
+
     @Test
     public void testVersionRangeFilters() {
         Set<RepositoryAwareArtifactDescriptor> unfiltered = new HashSet<RepositoryAwareArtifactDescriptor>();
-        final RepositoryAwareArtifactDescriptor one = createDescriptor("configuration", "c1", Version.parseVersion("1.0.0"), EMTPY_ATTRIBUTE_SET);
-        unfiltered.add(one);
-        final RepositoryAwareArtifactDescriptor two =createDescriptor("configuration", "c1", Version.parseVersion("2.0.0"), EMTPY_ATTRIBUTE_SET); 
-        unfiltered.add(two);
-        
+        final RepositoryAwareArtifactDescriptor c1low = createDescriptor("configuration", "c1", Version.parseVersion("1.0.0"), EMTPY_ATTRIBUTE_SET);
+        unfiltered.add(c1low);
+        final RepositoryAwareArtifactDescriptor c1high = createDescriptor("configuration", "c1", Version.parseVersion("2.0.0"), EMTPY_ATTRIBUTE_SET);
+        unfiltered.add(c1high);
+        final RepositoryAwareArtifactDescriptor c2 = createDescriptor("configuration", "c2", Version.parseVersion("2.0.0"), EMTPY_ATTRIBUTE_SET);
+        unfiltered.add(c2);
+
         Set<RepositoryAwareArtifactDescriptor> filtered = Query.VersionRangeMatchingStrategy.ALL.match(unfiltered, VersionRange.NATURAL_NUMBER_RANGE);
         assertNotNull(filtered);
         assertEquals(filtered, unfiltered);
-        
+
         filtered = Query.VersionRangeMatchingStrategy.HIGHEST.match(unfiltered, new VersionRange("[1, 3)"));
         assertNotNull(filtered);
-        assertEquals(1, filtered.size());
-        assertEquals(two, filtered.iterator().next());
-        
+        assertEquals(2, filtered.size());
+        assertTrue(filtered.contains(c1high));
+        assertTrue(filtered.contains(c2));
+
         filtered = Query.VersionRangeMatchingStrategy.LOWEST.match(unfiltered, new VersionRange("[1, 3)"));
         assertNotNull(filtered);
-        assertEquals(1, filtered.size());
-        assertEquals(one, filtered.iterator().next());
+        assertEquals(2, filtered.size());
+        assertTrue(filtered.contains(c1low));
+        assertTrue(filtered.contains(c2));
     }
-
 }
diff --git a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java
index 696113d..3f7aab9 100644
--- a/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java
+++ b/org.eclipse.virgo.repository/src/test/java/org/eclipse/virgo/repository/internal/chain/ChainedQueryTests.java
@@ -27,10 +27,10 @@
 import org.eclipse.virgo.repository.Query;
 import org.eclipse.virgo.repository.RepositoryAwareArtifactDescriptor;
 import org.eclipse.virgo.repository.internal.chain.ChainedQuery;
+import org.eclipse.virgo.util.osgi.VersionRange;
 import org.junit.Before;
 import org.junit.Test;
 
-
 public class ChainedQueryTests {
 
     private Query query1;
@@ -119,4 +119,34 @@
         assertEquals(artefacts.next(), artefact2);
         assertEquals(artefacts.next(), artefact3);
     }
+
+    @Test
+    public void setVersionRangeFilter() {
+        final VersionRange versionRange = VersionRange.naturalNumberRange();
+
+        expect(query1.setVersionRangeFilter(versionRange)).andReturn(query1);
+        expect(query2.setVersionRangeFilter(versionRange)).andReturn(query2);
+        expect(query3.setVersionRangeFilter(versionRange)).andReturn(query3);
+
+        replay(query1, query2, query3);
+
+        chainedQuery.setVersionRangeFilter(versionRange);
+
+        verify(query1, query2, query3);
+    }
+
+    @Test
+    public void setVersionRangeFilterWithStrategy() {
+        final VersionRange versionRange = VersionRange.naturalNumberRange();
+
+        expect(query1.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST)).andReturn(query1);
+        expect(query2.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST)).andReturn(query2);
+        expect(query3.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST)).andReturn(query3);
+
+        replay(query1, query2, query3);
+
+        chainedQuery.setVersionRangeFilter(versionRange, Query.VersionRangeMatchingStrategy.HIGHEST);
+
+        verify(query1, query2, query3);
+    }
 }