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;