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());
+
+ }
+
}