package de.javakaffee.kryoserializers.dexx; import com.esotericsoftware.kryo.Kryo; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import com.github.andrewoma.dexx.collection.Map; import com.github.andrewoma.dexx.collection.Maps; import static de.javakaffee.kryoserializers.KryoTest.deserialize; import static de.javakaffee.kryoserializers.KryoTest.serialize; import static org.testng.Assert.*; /** * Test for {@link MapSerializer} */ public class MapSerializerTest { private Kryo _kryo; @BeforeTest public void setUp() throws Exception { _kryo = new Kryo(); MapSerializer.registerSerializers(_kryo); } @Test(enabled = true) public void testEmpty() { final Map<?, ?> obj = Maps.of(); final byte[] serialized = serialize(_kryo, obj); final Map<?, ?> deserialized = deserialize(_kryo, serialized, Map.class); assertTrue(deserialized.isEmpty()); assertEquals(deserialized.size(), obj.size()); } @Test(enabled = true) public void testRegular() { final Map<?, ?> obj = Maps.of(3, "k", 5, "r", 6, "y"); final byte[] serialized = serialize(_kryo, obj); final Map<?, ?> deserialized = deserialize(_kryo, serialized, Map.class); assertEquals(deserialized, obj); } // Kryo#copy tests @Test(enabled = true) public void testCopyEmpty() { final Map<?, ?> obj = Maps.of(); final Map<?, ?> copied = _kryo.copy(obj); assertSame(copied, obj); } @Test(enabled = true) public void testCopyRegular() { final Map<?, ?> obj = Maps.of(1, 2, 3, 4); final Map<?, ?> copied = _kryo.copy(obj); assertSame(copied, obj); } }