package pluginbase.config.serializers; import pluginbase.config.SerializableConfig; import pluginbase.config.TestBase; import pluginbase.config.examples.Comprehensive; import pluginbase.config.examples.Custom; import pluginbase.config.examples.Unknown; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class DefaultSerializerTest extends TestBase { Serializer serializer; @Before public void setUp() throws Exception { serializer = new DefaultSerializer(); } @Test public void testSerializeDeserializeComprehensive() throws Exception { Comprehensive comprehensive = new Comprehensive(); Object serializedForm = serializer.serialize(comprehensive, SerializerSet.defaultSet()); Comprehensive deserializedForm = (Comprehensive) serializer.deserialize(serializedForm, Comprehensive.class, SerializerSet.defaultSet()); assertEquals(comprehensive, deserializedForm); } @Test public void testSerializeDeserializeComprehensiveNullKeyMap() throws Exception { Comprehensive comprehensive = new Comprehensive(); comprehensive.stringObjectMap.put(null, "something"); Object serializedForm = serializer.serialize(comprehensive, SerializerSet.defaultSet()); Comprehensive deserializedForm = (Comprehensive) serializer.deserialize(serializedForm, Comprehensive.class, SerializerSet.defaultSet()); assertFalse(comprehensive.equals(deserializedForm)); } @Test public void testSerializeDeserializeComprehensiveNullValueMap() throws Exception { Comprehensive comprehensive = new Comprehensive(); comprehensive.stringObjectMap.put("something", null); Object serializedForm = serializer.serialize(comprehensive, SerializerSet.defaultSet()); Comprehensive deserializedForm = (Comprehensive) serializer.deserialize(serializedForm, Comprehensive.class, SerializerSet.defaultSet()); assertFalse(comprehensive.equals(deserializedForm)); } public void testSerializeUnknownObject() throws Exception { assertNotNull(serializer.serialize(new Unknown(), SerializerSet.defaultSet())); } @Test public void testSerializeCustom() { assertEquals(CustomSerializer.class, SerializerSet.defaultSet().getClassSerializer(Custom.class).getClass()); Custom custom = new Custom("test"); } }