package de.persosim.simulator.utils; import static org.junit.Assert.assertArrayEquals; import org.junit.Test; public class SerializerTest { @Test public void testDeepCopy(){ byte [] expected1 = new byte [] {1,2,3,4,5}; byte [] expected2 = new byte [] {9,8,7,6,5}; byte [] content1 = new byte [] {1,2,3,4,5}; byte [] content2 = new byte [] {9,8,7,6,5}; MutableArrayWrapper mutableArrayWrapper = new MutableArrayWrapper(); MutableArrayWrapper mutableArrayWrapper2 = new MutableArrayWrapper(); mutableArrayWrapper.content = content1; mutableArrayWrapper.next = mutableArrayWrapper2; mutableArrayWrapper2.content = content2; //call mut MutableArrayWrapper copy = Serializer.deepCopy(mutableArrayWrapper); assertArrayEquals(expected1, copy.content); assertArrayEquals(expected2, copy.next.content); content1[0] = 100; content2[0] = 100; assertArrayEquals(expected1, copy.content); assertArrayEquals(expected2, copy.next.content); } @Test public void testSerialization(){ byte [] expected1 = new byte [] {1,2,3,4,5}; byte [] expected2 = new byte [] {9,8,7,6,5}; byte [] content1 = new byte [] {1,2,3,4,5}; byte [] content2 = new byte [] {9,8,7,6,5}; MutableArrayWrapper mutableArrayWrapper = new MutableArrayWrapper(); MutableArrayWrapper mutableArrayWrapper2 = new MutableArrayWrapper(); mutableArrayWrapper.content = content1; mutableArrayWrapper.next = mutableArrayWrapper2; mutableArrayWrapper2.content = content2; //call mut Serialized<MutableArrayWrapper> serialized = Serializer.serialize(mutableArrayWrapper); MutableArrayWrapper copy = Serializer.deserialize(serialized); assertArrayEquals(expected1, copy.content); assertArrayEquals(expected2, copy.next.content); content1[0] = 100; content2[0] = 100; assertArrayEquals(expected1, copy.content); assertArrayEquals(expected2, copy.next.content); } }