package org.ovirt.engine.core.utils.serialization.json; import static org.junit.Assert.assertEquals; import java.util.HashMap; import junit.framework.Assert; import org.apache.commons.lang.SerializationException; import org.junit.Test; /** * Tests for {@link JsonObjectDeserializer}. */ public class JsonObjectDeserializerTest { @Test public void testSerialize() { JsonSerializablePojo serializablePojo = new JsonSerializablePojo(); assertEquals(serializablePojo, new JsonObjectDeserializer().deserialize( serializablePojo.toJsonForm(false), JsonSerializablePojo.class)); } @Test public void testNullSerialize() { assertEquals(null, new JsonObjectDeserializer().deserialize(null, JsonSerializablePojo.class)); } @Test public void testDeserializeMap() { checkJson("{\"success\":true}"); checkJson("{\"success\":true, \"problem\": \"none\"}"); } @Test(expected = SerializationException.class) public void testDeserializeMapFailWithSingleQuote() { checkJson("{'success':true}"); } @Test(expected = SerializationException.class) public void testDeserializeMapFailWithNoQuote() { checkJson("{success:true}"); } @Test(expected = SerializationException.class) public void testDeserializeMapFailWithBadTrue() { checkJson("{\"success\":treue}"); } private void checkJson(String json) { @SuppressWarnings("unchecked") final HashMap<String, Boolean> map = new JsonObjectDeserializer().deserialize(json, HashMap.class); Assert.assertTrue(map.get("success")); } }