@Override public WrappedString read(Kryo kryo, Input input, Class<WrappedString> type) { return new WrappedString(input.readString() + " " + System.identityHashCode(this)); } }
private void runDuplicateSerializerTest(ExecutionConfig executionConfig) { final KryoSerializer<WrappedString> original = new KryoSerializer<>(WrappedString.class, executionConfig); final KryoSerializer<WrappedString> duplicate = original.duplicate(); WrappedString testString = new WrappedString("test"); String copyWithOriginal = original.copy(testString).content; String copyWithDuplicate = duplicate.copy(testString).content; Assert.assertTrue(copyWithOriginal.startsWith(testString.content)); Assert.assertTrue(copyWithDuplicate.startsWith(testString.content)); // check that both serializer instances have appended a different identity hash Assert.assertNotEquals(copyWithOriginal, copyWithDuplicate); }