@Test public void test_init() throws Exception { Data keyData = serializationService.toData("keyData"); Data valueData = serializationService.toData("valueData"); entry.init(keyData, valueData, serializationService); Object valueObject = entry.getValue(); Object keyObject = entry.getKey(); entry.init(keyObject, valueObject, serializationService); assertTrue("Old keyData should not be here", keyData != entry.getKeyData()); assertTrue("Old valueData should not be here", valueData != entry.getValueData()); }
@Test public void testSerialization() throws IOException, ClassNotFoundException { Data keyData = serializationService.toData("keyData"); Data valueData = serializationService.toData("valueData"); entry.init(keyData, valueData, serializationService); LazyMapEntry copy = TestJavaSerializationUtils.serializeAndDeserialize(entry); assertEquals(entry, copy); }
@Test public void test_init_doesNotSerializeObject() throws Exception { MyObject key = new MyObject(); MyObject value = new MyObject(); entry.init(key, value, serializationService); assertEquals(0, key.serializedCount); assertEquals(0, value.serializedCount); }
@Test public void test_init_doesNotDeserializeObject() throws Exception { MyObject keyObject = new MyObject(); MyObject valueObject = new MyObject(); Data keyData = serializationService.toData(keyObject); Data valueData = serializationService.toData(valueObject); entry.init(keyData, valueData, serializationService); assertEquals(1, keyObject.serializedCount); assertEquals(1, valueObject.serializedCount); assertEquals(0, keyObject.deserializedCount); assertEquals(0, valueObject.deserializedCount); }
@Test public void testLazyDeserializationWorks() throws Exception { MyObject keyObject = new MyObject(); MyObject valueObject = new MyObject(); Data keyData = serializationService.toData(keyObject); Data valueData = serializationService.toData(valueObject); entry.init(keyData, valueData, serializationService); Object key = entry.getKey(); Object value = entry.getValue(); assertInstanceOf(MyObject.class, key); assertInstanceOf(MyObject.class, value); assertEquals(1, ((MyObject) key).deserializedCount); assertEquals(1, ((MyObject) value).deserializedCount); }