Further modified ExtendedSetTest to improve coverage
Change-Id: I35e8ca107f75abc242ca2ad8f8035cc8165c6b2b
diff --git a/utils/misc/src/test/java/org/onlab/util/ExtendedSetTest.java b/utils/misc/src/test/java/org/onlab/util/ExtendedSetTest.java
index b647cb9..f1573d0 100644
--- a/utils/misc/src/test/java/org/onlab/util/ExtendedSetTest.java
+++ b/utils/misc/src/test/java/org/onlab/util/ExtendedSetTest.java
@@ -78,7 +78,7 @@
public void testIsEmpty() {
ExtendedSet<TestValue> nonemptyset = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(nonemptyset.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(nonemptyset.add(val));
assertTrue(nonemptyset.contains(val));
assertFalse(nonemptyset.isEmpty());
@@ -91,7 +91,7 @@
public void testClear() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(set.add(val));
assertTrue(set.contains(val));
set.clear();
assertFalse(set.contains(val));
@@ -101,11 +101,11 @@
public void testSize() {
ExtendedSet<TestValue> nonemptyset = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(nonemptyset.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(nonemptyset.add(val));
assertTrue(nonemptyset.contains(val));
assertEquals(1, nonemptyset.size());
TestValue secval = new TestValue("goo", 2);
- assertTrue(nonemptyset.insertOrReplace(secval, existing -> existing.value2() < secval.value2()));
+ assertTrue(nonemptyset.add(secval));
assertTrue(nonemptyset.contains(secval));
assertEquals(2, nonemptyset.size());
@@ -117,9 +117,9 @@
public void testIterator() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(set.add(val));
TestValue nextval = new TestValue("goo", 2);
- assertTrue(set.insertOrReplace(nextval, existing -> existing.value2() < nextval.value2()));
+ assertTrue(set.add(nextval));
assertTrue(set.contains(nextval));
Iterator<TestValue> iterator = set.iterator();
assertEquals(val, iterator.next());
@@ -131,9 +131,9 @@
public void testToArray() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(set.add(val));
TestValue nextval = new TestValue("goo", 2);
- assertTrue(set.insertOrReplace(nextval, existing -> existing.value2() < nextval.value2()));
+ assertTrue(set.add(nextval));
Object[] array = set.toArray();
TestValue[] valarray = {val, nextval};
assertArrayEquals(valarray, array);
@@ -145,9 +145,9 @@
public void testContainsAll() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(set.add(val));
TestValue nextval = new TestValue("goo", 2);
- assertTrue(set.insertOrReplace(nextval, existing -> existing.value2() < nextval.value2()));
+ assertTrue(set.add(nextval));
ArrayList<TestValue> vals = new ArrayList<TestValue>();
vals.add(val);
vals.add(nextval);
@@ -158,9 +158,9 @@
public void testRemove() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(set.add(val));
TestValue nextval = new TestValue("goo", 2);
- assertTrue(set.insertOrReplace(nextval, existing -> existing.value2() < nextval.value2()));
+ assertTrue(set.add(nextval));
assertTrue(set.remove(val));
assertFalse(set.contains(val));
assertTrue(set.remove(nextval));
@@ -171,12 +171,15 @@
public void testAddAll() {
ExtendedSet<TestValue> nonemptyset = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(nonemptyset.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(nonemptyset.add(val));
TestValue nextval = new TestValue("goo", 2);
TestValue finalval = new TestValue("shoo", 3);
+ TestValue extremeval = new TestValue("who", 4);
+ assertTrue(nonemptyset.add(extremeval));
ArrayList<TestValue> vals = new ArrayList<TestValue>();
vals.add(nextval);
vals.add(finalval);
+ vals.add(extremeval);
assertTrue(nonemptyset.addAll(vals));
assertTrue(nonemptyset.contains(nextval));
assertTrue(nonemptyset.contains(finalval));
@@ -196,14 +199,15 @@
public void testRemoveAll() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue val = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(val, existing -> existing.value2() < val.value2()));
+ assertTrue(set.add(val));
TestValue nextval = new TestValue("goo", 2);
- assertTrue(set.insertOrReplace(nextval, existing -> existing.value2() < nextval.value2()));
+ assertTrue(set.add(nextval));
TestValue finalval = new TestValue("shoo", 3);
- assertTrue(set.insertOrReplace(finalval, existing -> existing.value2() < finalval.value2()));
+ assertTrue(set.add(finalval));
ArrayList<TestValue> vals = new ArrayList<TestValue>();
vals.add(nextval);
vals.add(finalval);
+ vals.add(new TestValue("who", 4));
assertTrue(set.removeAll(vals));
assertFalse(set.contains(nextval));
assertFalse(set.contains(finalval));
@@ -215,13 +219,13 @@
public void testRetainAll() {
ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
TestValue small = new TestValue("foo", 1);
- assertTrue(set.insertOrReplace(small, existing -> existing.value2() < small.value2()));
+ assertTrue(set.add(small));
TestValue medium = new TestValue("goo", 2);
- assertTrue(set.insertOrReplace(medium, existing -> existing.value2() < medium.value2()));
+ assertTrue(set.add(medium));
TestValue large = new TestValue("shoo", 3);
- assertTrue(set.insertOrReplace(large, existing -> existing.value2() < large.value2()));
+ assertTrue(set.add(large));
TestValue extreme = new TestValue("who", 4);
- assertTrue(set.insertOrReplace(extreme, existing -> existing.value2() < extreme.value2()));
+ assertTrue(set.add(extreme));
ArrayList<TestValue> firstvals = new ArrayList<TestValue>();
firstvals.add(medium);
firstvals.add(extreme);
@@ -237,6 +241,21 @@
assertTrue(set.contains(medium));
}
+ @Test
+ public void testAddFailure() {
+ ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
+ TestValue val = new TestValue("foo", 1);
+ assertTrue(set.add(val));
+ assertFalse(set.add(val));
+ }
+
+ @Test
+ public void testRemoveFailure() {
+ ExtendedSet<TestValue> set = new ExtendedSet<TestValue>(Maps.newConcurrentMap());
+ TestValue val = new TestValue("foo", 1);
+ assertFalse(set.remove(val));
+ }
+
private class TestValue {
private String value1;
private int value2;