Editing test for Match.

Change-Id: I5985503c20639746bac1d2c250b9ce56047df840
(cherry picked from commit 54647c08a12bc215e713e8a812fd072cd2a8e1cb)
diff --git a/utils/misc/src/test/java/org/onlab/util/MatchTest.java b/utils/misc/src/test/java/org/onlab/util/MatchTest.java
index 498fbc6..bbcf7ff 100644
--- a/utils/misc/src/test/java/org/onlab/util/MatchTest.java
+++ b/utils/misc/src/test/java/org/onlab/util/MatchTest.java
@@ -43,6 +43,10 @@
         assertFalse(m3.matches(null));
         assertFalse(m3.matches("bar"));
         assertTrue(m3.matches("foo"));
+
+        Match<byte[]> m4 = Match.ifValue(new byte[8]);
+        assertTrue(m4.matches(new byte[8]));
+        assertFalse(m4.matches(new byte[7]));
     }
 
     @Test
@@ -54,6 +58,8 @@
         assertEquals(m1, m2);
         assertFalse(Objects.equal(m1, m3));
         assertFalse(Objects.equal(m3, m4));
+        Object o = new Object();
+        assertFalse(Objects.equal(m1, o));
     }
 
     @Test
@@ -64,4 +70,49 @@
         Match<String> m3 = m2.map(s -> "bar");
         assertTrue(m3.matches("bar"));
     }
+
+    @Test
+    public void testIfNotNull() {
+       Match<String> m = Match.ifNotNull();
+       assertFalse(m.matches(null));
+       assertTrue(m.matches("foo"));
+    }
+
+    @Test
+    public void testIfNotValue() {
+        Match<String> m1 = Match.ifNotValue(null);
+        Match<String> m2 = Match.ifNotValue("foo");
+        assertFalse(m1.matches(null));
+        assertFalse(m2.matches("foo"));
+    }
+
+    @Test
+    public void testToString() {
+        Match<String> m1 = Match.any();
+        Match<String> m2 = Match.any();
+        Match<String> m3 = Match.ifValue("foo");
+        Match<String> m4 = Match.ifValue("foo");
+        Match<String> m5 = Match.ifNotValue("foo");
+
+        String note = "Results of toString() should be consistent -- ";
+
+        assertTrue(note, m1.toString().equals(m2.toString()));
+        assertTrue(note, m3.toString().equals(m4.toString()));
+        assertFalse(note, m4.toString().equals(m5.toString()));
+    }
+
+    @Test
+    public void testHashCode() {
+        Match<String> m1 = Match.ifValue("foo");
+        Match<String> m2 = Match.ifNotValue("foo");
+        Match<String> m3 = Match.ifValue("foo");
+        Match<String> m4 = Match.ifNotNull();
+        Match<String> m5 = Match.ifNull();
+
+        assertTrue(m1.hashCode() == m3.hashCode());
+        assertFalse(m2.hashCode() == m1.hashCode());
+        assertFalse(m4.hashCode() == m5.hashCode());
+
+    }
+
 }