This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git

commit 6215948227b39308d59c624ffa2221e841fb0909
Author: aherbert <a.herb...@sussex.ac.uk>
AuthorDate: Tue Feb 18 13:40:22 2020 +0000

    Hit all edge cases in the Shape.equals method.
---
 .../collections4/bloomfilter/hasher/ShapeTest.java  | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/collections4/bloomfilter/hasher/ShapeTest.java
 
b/src/test/java/org/apache/commons/collections4/bloomfilter/hasher/ShapeTest.java
index 78ba037..c69e6f3 100644
--- 
a/src/test/java/org/apache/commons/collections4/bloomfilter/hasher/ShapeTest.java
+++ 
b/src/test/java/org/apache/commons/collections4/bloomfilter/hasher/ShapeTest.java
@@ -406,9 +406,22 @@ public class ShapeTest {
     @Test
     public void equalsTest() {
 
-        assertEquals(new Shape(testFunction, 5, 1.0 / 10), shape);
-        assertNotEquals(new Shape(testFunction, 5, 1.0 / 11), shape);
-        assertNotEquals(new Shape(testFunction, 4, 1.0 / 10), shape);
+        assertEquals(shape, shape);
+        assertEquals(shape, new Shape(testFunction, 5, 1.0 / 10));
+        assertNotEquals(shape, null);
+        assertNotEquals(shape, new Shape(testFunction, 5, 1.0 / 11));
+        assertNotEquals(shape, new Shape(testFunction, 4, 1.0 / 10));
+        // Number of bits does not change equality,
+        // only the number of bits and the number of hash functions
+        final int numberOfBits = 10000;
+        final int numberOfItems = 15;
+        final int numberOfHashFunctions = 4;
+        assertEquals(new Shape(testFunction, numberOfItems, numberOfBits, 
numberOfHashFunctions),
+                     new Shape(testFunction, numberOfItems + 1, numberOfBits, 
numberOfHashFunctions));
+        assertNotEquals(new Shape(testFunction, numberOfItems, numberOfBits, 
numberOfHashFunctions),
+                        new Shape(testFunction, numberOfItems, numberOfBits + 
1, numberOfHashFunctions));
+        assertNotEquals(new Shape(testFunction, numberOfItems, numberOfBits, 
numberOfHashFunctions),
+                        new Shape(testFunction, numberOfItems, numberOfBits, 
numberOfHashFunctions + 1));
 
         final HashFunctionIdentity testFunction2 = new HashFunctionIdentity() {
 
@@ -438,7 +451,7 @@ public class ShapeTest {
             }
         };
 
-        assertNotEquals(new Shape(testFunction2, 4, 1.0 / 10), shape);
+        assertNotEquals(shape, new Shape(testFunction2, 4, 1.0 / 10));
     }
 
     /**

Reply via email to