early exit it toString was only used if data array was empty
This commit is contained in:
@@ -738,9 +738,8 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|
||||||
if (data == null)
|
assert data != null : "data cannot be null";
|
||||||
return "null";
|
final int iMax = size - 1;
|
||||||
final int iMax = data.length - 1;
|
|
||||||
if (iMax == -1)
|
if (iMax == -1)
|
||||||
return "[]";
|
return "[]";
|
||||||
|
|
||||||
|
|||||||
@@ -521,9 +521,13 @@ public class IntListTest {
|
|||||||
final IntList a = new IntList();
|
final IntList a = new IntList();
|
||||||
final IntList b = 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);
|
a.addAll(1, 2, 3, 4);
|
||||||
b.addAll(1, 2, 3, 4);
|
b.addAll(1, 2, 3, 4);
|
||||||
|
|
||||||
Assert.assertTrue(a.equals(b));
|
Assert.assertTrue(a.equals(b));
|
||||||
Assert.assertEquals(a.hashCode(), b.hashCode());
|
Assert.assertEquals(a.hashCode(), b.hashCode());
|
||||||
|
|
||||||
@@ -533,11 +537,27 @@ public class IntListTest {
|
|||||||
Assert.assertTrue(a.equals(b));
|
Assert.assertTrue(a.equals(b));
|
||||||
Assert.assertEquals(a.hashCode(), b.hashCode());
|
Assert.assertEquals(a.hashCode(), b.hashCode());
|
||||||
|
|
||||||
|
// TODO sorted and unsorted lists with same length
|
||||||
|
|
||||||
// change one value
|
// change one value
|
||||||
a.remove(2, 3);
|
a.remove(2, 3);
|
||||||
a.insert(2, 99);
|
a.insert(2, 99);
|
||||||
Assert.assertFalse(a.equals(b));
|
Assert.assertFalse(a.equals(b));
|
||||||
Assert.assertNotEquals(a.hashCode(), b.hashCode());
|
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
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user