diff --git a/primitiveCollections/src/main/java/org/lucares/collections/IntList.java b/primitiveCollections/src/main/java/org/lucares/collections/IntList.java index c1325d4..872c991 100644 --- a/primitiveCollections/src/main/java/org/lucares/collections/IntList.java +++ b/primitiveCollections/src/main/java/org/lucares/collections/IntList.java @@ -738,9 +738,8 @@ public final class IntList implements Serializable, Cloneable { @Override public String toString() { - if (data == null) - return "null"; - final int iMax = data.length - 1; + assert data != null : "data cannot be null"; + final int iMax = size - 1; if (iMax == -1) return "[]"; diff --git a/primitiveCollections/src/test/java/org/lucares/collections/IntListTest.java b/primitiveCollections/src/test/java/org/lucares/collections/IntListTest.java index ed26ed4..f4b6413 100644 --- a/primitiveCollections/src/test/java/org/lucares/collections/IntListTest.java +++ b/primitiveCollections/src/test/java/org/lucares/collections/IntListTest.java @@ -521,9 +521,13 @@ public class IntListTest { final IntList a = new IntList(); final IntList b = new IntList(); + // on empty lists + Assert.assertTrue(a.equals(b)); + Assert.assertEquals(a.hashCode(), b.hashCode()); + + // on equal lists a.addAll(1, 2, 3, 4); b.addAll(1, 2, 3, 4); - Assert.assertTrue(a.equals(b)); Assert.assertEquals(a.hashCode(), b.hashCode()); @@ -533,11 +537,27 @@ public class IntListTest { Assert.assertTrue(a.equals(b)); Assert.assertEquals(a.hashCode(), b.hashCode()); + // TODO sorted and unsorted lists with same length + // change one value a.remove(2, 3); a.insert(2, 99); Assert.assertFalse(a.equals(b)); Assert.assertNotEquals(a.hashCode(), b.hashCode()); + + // have different length + a.add(66); + Assert.assertFalse(a.equals(b)); + Assert.assertNotEquals(a.hashCode(), b.hashCode()); + + // same object + Assert.assertTrue(a.equals(a)); + + // other is null + Assert.assertFalse(a.equals(null)); + + // equals with a different class + Assert.assertFalse(a.equals("not an IntList")); } @Test