java-commons/commons-serialize-databind/src/test/java/io/gitlab/jfronny/commons/serialize/databind/test/MapAdapterTest.java

39 lines
1.6 KiB
Java

package io.gitlab.jfronny.commons.serialize.databind.test;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.databind.ObjectMapper;
import io.gitlab.jfronny.commons.serialize.databind.api.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.databind.api.TypeToken;
import io.gitlab.jfronny.commons.serialize.emulated.DataElement;
import io.gitlab.jfronny.commons.serialize.emulated.EmulatedReader;
import io.gitlab.jfronny.commons.serialize.emulated.EmulatedWriter;
import org.junit.jupiter.api.Test;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class MapAdapterTest {
@Test
public void simpleMapTEst() throws MalformedDataException {
DataElement.Object de = new DataElement.Object();
de.members().put("key", new DataElement.Primitive.String("value"));
de.members().put("key2", new DataElement.Primitive.String("value2"));
de.members().put("key3", new DataElement.Primitive.String("value3"));
ObjectMapper om = new ObjectMapper();
TypeAdapter<Map<String, String>> adapter = om.getAdapter(new TypeToken<>() {});
Map<String, String> map;
try (EmulatedReader er = new EmulatedReader(de)) {
map = adapter.deserialize(er);
}
assertEquals(3, map.size());
assertEquals("value", map.get("key"));
assertEquals("value2", map.get("key2"));
assertEquals("value3", map.get("key3"));
try (EmulatedWriter ew = new EmulatedWriter()) {
adapter.serialize(map, ew);
assertEquals(de, ew.get());
}
}
}