You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2018/04/20 09:23:35 UTC

svn commit: r1829639 [3/3] - in /felix/trunk: bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ bundlerepository/src/test/java/org/apache/felix/bundlerepository/impl/ utils/ utils/src/main/java/org/apache/felix/utils/collections/ u...

Modified: felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/RequirementImplTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/RequirementImplTest.java?rev=1829639&r1=1829638&r2=1829639&view=diff
==============================================================================
--- felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/RequirementImplTest.java (original)
+++ felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/RequirementImplTest.java Fri Apr 20 09:23:35 2018
@@ -20,7 +20,6 @@ package org.apache.felix.utils.resource;
 
 import junit.framework.TestCase;
 
-import org.apache.felix.utils.resource.RequirementImpl;
 import org.mockito.Mockito;
 import org.osgi.resource.Resource;
 
@@ -28,16 +27,18 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertNotEquals;
+
 public class RequirementImplTest extends TestCase {
     public void testRequirement() {
         Map<String, Object> attrs = Collections.<String,Object>singletonMap("foo", "bar");
         Map<String, String> dirs = Collections.emptyMap();
-        RequirementImpl r = new RequirementImpl("org.foo.bar", attrs, dirs);
+        RequirementImpl r = new RequirementImpl(Mockito.mock(Resource.class),"org.foo.bar", dirs, attrs);
 
         assertEquals("org.foo.bar", r.getNamespace());
         assertEquals(attrs, r.getAttributes());
         assertEquals(dirs, r.getDirectives());
-        assertNull(r.getResource());
+        assertNotNull(r.getResource());
     }
 
     public void testRequirementEqualsHashcode() {
@@ -46,42 +47,43 @@ public class RequirementImplTest extends
         attrs.put("la", "la");
         Map<String, String> dirs = Collections.singletonMap("a", "b");
         Resource res = Mockito.mock(Resource.class);
-        RequirementImpl r1 = new RequirementImpl("org.foo.bar", attrs, dirs, res);
+        RequirementImpl r1 = new RequirementImpl(res, "org.foo.bar", dirs, attrs);
         assertEquals(res, r1.getResource());
 
-        RequirementImpl r2 = new RequirementImpl("org.foo.bar", attrs, dirs, res);
+        RequirementImpl r2 = new RequirementImpl(res, "org.foo.bar", dirs, attrs);
         assertEquals(r1, r2);
         assertEquals(r1.hashCode(), r2.hashCode());
 
-        RequirementImpl r3 = new RequirementImpl("org.foo.bar2", attrs, dirs, res);
-        assertFalse(r1.equals(r3));
-        assertFalse(r1.hashCode() == r3.hashCode());
+        RequirementImpl r3 = new RequirementImpl(res, "org.foo.bar2", dirs, attrs);
+        assertNotEquals(r1, r3);
+        assertNotEquals(r1.hashCode(), r3.hashCode());
     }
 
     public void testRequirementFilter() {
-        RequirementImpl r = new RequirementImpl("lala", "(x=y)");
+        RequirementImpl r = new RequirementImpl(Mockito.mock(Resource.class), "lala", "(x=y)");
         assertEquals("lala", r.getNamespace());
         assertEquals(0, r.getAttributes().size());
         assertEquals(Collections.singletonMap("filter", "(x=y)"), r.getDirectives());
 
-        RequirementImpl r2 = new RequirementImpl("lala", null);
+        RequirementImpl r2 = new RequirementImpl(Mockito.mock(Resource.class), "lala", null);
         assertEquals("lala", r2.getNamespace());
         assertEquals(0, r2.getAttributes().size());
         assertEquals(0, r2.getDirectives().size());
     }
 
     public void testCopyRequirement() {
-        Resource res = Mockito.mock(Resource.class);
-        RequirementImpl r = new RequirementImpl("x.y.z",
-                Collections.<String, Object>singletonMap("a", 123),
+        Resource res1 = Mockito.mock(Resource.class);
+
+        RequirementImpl r = new RequirementImpl(res1,
+                "x.y.z",
                 Collections.<String, String>singletonMap("x", "y"),
-                res);
+                Collections.<String, Object>singletonMap("a", 123));
 
         Resource res2 = Mockito.mock(Resource.class);
         RequirementImpl r2 = new RequirementImpl(res2, r);
-        assertFalse("Should not be equal, the resources are different", r.equals(r2));
+        assertNotEquals("Should not be equal, the resources are different", r, r2);
 
-        RequirementImpl r3 = new RequirementImpl(res, r);
+        RequirementImpl r3 = new RequirementImpl(res1, r);
         assertEquals(r, r3);
     }
 }

Added: felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/SimpleFilterTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/SimpleFilterTest.java?rev=1829639&view=auto
==============================================================================
--- felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/SimpleFilterTest.java (added)
+++ felix/trunk/utils/src/test/java/org/apache/felix/utils/resource/SimpleFilterTest.java Fri Apr 20 09:23:35 2018
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.felix.utils.resource;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class SimpleFilterTest extends TestCase
+{
+    public void testSubstringMatching()
+    {
+        List<String> pieces;
+
+        pieces = SimpleFilter.parseSubstring("*");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, ""));
+
+        pieces = SimpleFilter.parseSubstring("foo");
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, ""));
+
+        pieces = SimpleFilter.parseSubstring("");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, ""));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "foo"));
+
+        pieces = SimpleFilter.parseSubstring("foo");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foo"));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "barfoo"));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+
+        pieces = SimpleFilter.parseSubstring("foo*");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foo"));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "barfoo"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+
+        pieces = SimpleFilter.parseSubstring("*foo");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foo"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "barfoo"));
+        assertFalse("Should match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+
+        pieces = SimpleFilter.parseSubstring("foo*bar");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "barfoo"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foosldfjbar"));
+
+        pieces = SimpleFilter.parseSubstring("*foo*bar");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "foobarfoo"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "barfoobar"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "sdffoobsdfbar"));
+
+        pieces = SimpleFilter.parseSubstring("*foo*bar*");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foobarfoo"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "barfoobar"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "sdffoobsdfbar"));
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "sdffoobsdfbarlj"));
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "sdffobsdfbarlj"));
+
+        pieces = SimpleFilter.parseSubstring("*foo(*bar*");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "foo()bar"));
+
+        pieces = SimpleFilter.parseSubstring("*foo*bar*bar");
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "foobar"));
+
+        pieces = SimpleFilter.parseSubstring("aaaa*aaaa");
+        assertFalse("Should not match!", SimpleFilter.compareSubstring(pieces, "aaaaaaa"));
+
+        pieces = SimpleFilter.parseSubstring("aaa**aaa");
+        assertTrue("Should match!", SimpleFilter.compareSubstring(pieces, "aaaaaa"));
+    }
+}