--- /dev/null
+package de.juplo.jackson;
+
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Spliterator;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+import org.junit.Test;
+
+
+/**
+ *
+ * @author Kai Moritz
+ */
+public class SimpleMapperTest
+{
+ private final JsonFactory factory = new JsonFactory();
+
+
+ @Test
+ public void testConvertEmptyInputToArraySpliterator() throws Exception
+ {
+ Spliterator<Object> spliterator;
+
+ spliterator = SimpleMapper.getArraySpliterator(get("/empty/1.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Object t) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getArraySpliterator(get("/empty/2.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Object t) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getArraySpliterator(get("/empty/3.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Object t) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getArraySpliterator(get("/empty/4.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Object t) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getArraySpliterator(get("/empty/5.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Object t) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ }
+
+ @Test
+ public void testConvertEmptyInputToList() throws Exception
+ {
+ List<Object> list;
+
+ list = SimpleMapper.convertArray(get("/empty/1.json"));
+ assertEquals(0, list.size());
+ list = SimpleMapper.convertArray(get("/empty/2.json"));
+ assertEquals(0, list.size());
+ list = SimpleMapper.convertArray(get("/empty/3.json"));
+ assertEquals(0, list.size());
+ list = SimpleMapper.convertArray(get("/empty/4.json"));
+ assertEquals(0, list.size());
+ list = SimpleMapper.convertArray(get("/empty/5.json"));
+ assertEquals(0, list.size());
+ }
+
+ @Test
+ public void testConvertEmptyInputToObjectSpliterator() throws Exception
+ {
+ Spliterator<Entry<String, Object>> spliterator;
+
+ spliterator = SimpleMapper.getObjectSpliterator(get("/empty/1.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Entry<String, Object> e) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getObjectSpliterator(get("/empty/2.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Entry<String, Object> e) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getObjectSpliterator(get("/empty/3.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Entry<String, Object> e) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getObjectSpliterator(get("/empty/4.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Entry<String, Object> e) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ spliterator = SimpleMapper.getObjectSpliterator(get("/empty/5.json"));
+ assertFalse(
+ "The created splitter should have no entries",
+ spliterator.tryAdvance((Entry<String, Object> e) ->
+ {
+ fail("The consumer should never be called!");
+ }));
+ }
+
+ @Test
+ public void testConvertEmptyInputToMap() throws Exception
+ {
+ Map<String, Object> map;
+
+ map = SimpleMapper.convertObject(get("/empty/1.json"));
+ assertEquals(0, map.size());
+ map = SimpleMapper.convertObject(get("/empty/2.json"));
+ assertEquals(0, map.size());
+ map = SimpleMapper.convertObject(get("/empty/3.json"));
+ assertEquals(0, map.size());
+ map = SimpleMapper.convertObject(get("/empty/4.json"));
+ assertEquals(0, map.size());
+ map = SimpleMapper.convertObject(get("/empty/5.json"));
+ assertEquals(0, map.size());
+ }
+
+ @Test
+ public void testConvertEmptyInput() throws Exception
+ {
+ Object object;
+
+ object = SimpleMapper.convert(get("/empty/1.json"));
+ assertNull(object);
+ object = SimpleMapper.convert(get("/empty/2.json"));
+ assertNull(object);
+ object = SimpleMapper.convert(get("/empty/3.json"));
+ assertNull(object);
+ object = SimpleMapper.convert(get("/empty/4.json"));
+ assertNull(object);
+ object = SimpleMapper.convert(get("/empty/5.json"));
+ assertNull(object);
+ }
+
+
+ private JsonParser get(String resource) throws IOException
+ {
+ InputStream is = SimpleMapperTest.class.getResourceAsStream(resource);
+ return factory.createParser(is);
+ }
+}