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