Bugfix for list and maps containing null objects

This commit is contained in:
Ziver Koc 2015-10-28 16:01:24 +01:00
parent 304213c1d2
commit d952b3bcb7
2 changed files with 45 additions and 17 deletions

34
test/zutil/test/JSONParserTest.java Normal file → Executable file
View file

@ -49,14 +49,14 @@ public class JSONParserTest {
@Test
public void emptyMap(){
DataNode data = JSONParser.read("{}");
assert(data.isMap());
assertEquals(DataType.Map, data.getType());
assertEquals( 0, data.size());
}
@Test
public void emptyList(){
DataNode data = JSONParser.read("[]");
assert(data.isList());
assertEquals(DataType.List, data.getType());
assertEquals( 0, data.size());
}
@ -103,7 +103,7 @@ public class JSONParserTest {
@Test
public void toManyCommasInList(){
DataNode data = JSONParser.read("[1,2,3,]");
assert(data.isList());
assertEquals(DataType.List, data.getType());
assertEquals( 1, data.get(0).getInt());
assertEquals( 2, data.get(1).getInt());
assertEquals( 3, data.get(2).getInt());
@ -111,13 +111,33 @@ public class JSONParserTest {
@Test
public void toManyCommasInMap(){
DataNode data = JSONParser.read("{1=1,2=2,3=3,}");
assert(data.isMap());
DataNode data = JSONParser.read("{1:1,2:2,3:3,}");
assertEquals(DataType.Map, data.getType());
assertEquals( 1, data.get("1").getInt());
assertEquals( 2, data.get("2").getInt());
assertEquals( 3, data.get("3").getInt());
}
@Test
public void nullValueInList(){
DataNode data = JSONParser.read("[1,null,3,]");
assertEquals(DataType.List, data.getType());
assertEquals(3, data.size());
assertEquals( "1", data.get(0).getString());
assertNull(data.get(1));
assertEquals( "3", data.get(2).getString());
}
@Test
public void nullValueInMap(){
DataNode data = JSONParser.read("{1:1,2:null,3:3,}");
assertEquals(DataType.Map, data.getType());
assertEquals(3, data.size());
assertEquals( "1", data.getString("1"));
assertNull(data.get("2"));
assertEquals( "3", data.getString("3"));
}
@Test
public void complexMap() {
String json = "{" +
@ -137,14 +157,14 @@ public class JSONParserTest {
assertEquals( "91011", data.get("test4").getString() );
assert( data.get("test5").isList() );
assertEquals( 4, data.get("test5").size() );
assertEquals( 4, data.get("test5").size() );
assertEquals( 12, data.get("test5").get(0).getInt() );
assertEquals( 13, data.get("test5").get(1).getInt() );
assertEquals( 14, data.get("test5").get(2).getInt() );
assertEquals( 15, data.get("test5").get(3).getInt() );
assert( data.get("test6").isList() );
assertEquals( 4, data.get("test6").size() );
assertEquals( 4, data.get("test6").size() );
assertEquals( "a", data.get("test6").get(0).getString() );
assertEquals( "b", data.get("test6").get(1).getString() );
assertEquals( "c", data.get("test6").get(2).getString() );