Add test KryoFactory#deserialize failure case
Change-Id: I860fbe3b3065a93df80b9c7474acaf42456f3ad3
diff --git a/src/test/java/net/onrc/onos/core/util/serializers/KryoFactoryTest.java b/src/test/java/net/onrc/onos/core/util/serializers/KryoFactoryTest.java
index 732174d..78c5f62 100644
--- a/src/test/java/net/onrc/onos/core/util/serializers/KryoFactoryTest.java
+++ b/src/test/java/net/onrc/onos/core/util/serializers/KryoFactoryTest.java
@@ -143,6 +143,24 @@
}
/**
+ * Tests deserializing to wrong type result in ClassCastException.
+ */
+ @Test
+ public void testStaticSerializeDeserializeCastFailure() {
+ final Integer integer = 42;
+ final byte[] integerBytes = KryoFactory.serialize(integer);
+
+ final Number validSuperType = KryoFactory.deserialize(integerBytes);
+ assertEquals(integer, validSuperType);
+
+ try {
+ final String wrongType = KryoFactory.deserialize(integerBytes);
+ fail("Should have thrown exception" + wrongType);
+ } catch (ClassCastException e) { // CHECKSTYLE IGNORE THIS LINE
+ }
+ }
+
+ /**
* Benchmark result.
*/
private static final class Result {