early exit it toString was only used if data array was empty

This commit is contained in:
2017-12-16 14:34:36 +01:00
parent 76145b080e
commit f3cbdda121
2 changed files with 23 additions and 4 deletions

View File

@@ -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