@Test public void booleanMap() { String json = "{\"key1\":true,\"key2\":true,\"key3\":false}"; String reserialized = null; try { Map<String, Boolean> map = new TreeMap<>(LoganSquare.parseMap(json, Boolean.class)); reserialized = LoganSquare.serialize(map, Boolean.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void mixedObjectMap() { String json = "{\"key1\":true,\"key2\":1,\"key3\":1.02,\"key4\":1002020,\"key5\":\"test2\",\"key6\":{\"subkey1\":1,\"subkey2\":\"string\"},\"key7\":[1,2,3]}"; String reserialized = null; try { Map<String, Object> map = new TreeMap<>(LoganSquare.parseMap(json, Object.class)); reserialized = LoganSquare.serialize(map, Object.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void stringMap() { String json = "{\"key1\":\"val1\",\"key2\":\"val2\",\"key3\":\"val3\"}"; String reserialized = null; try { Map<String, String> map = new TreeMap<>(LoganSquare.parseMap(json, String.class)); reserialized = LoganSquare.serialize(map, String.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void intMap() { String json = "{\"key1\":1,\"key2\":2,\"key3\":3}"; String reserialized = null; try { Map<String, Integer> map = new TreeMap<>(LoganSquare.parseMap(json, Integer.class)); reserialized = LoganSquare.serialize(map, Integer.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleObjectMap() { String json = "{\"obj1\":{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\"}," + "\"obj2\":{\"date\":\"2015-02-22T18:45:50.748+0000\",\"string\":\"testString2\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\"}}"; String reserialized = null; try { Map<String, SimpleModel> simpleModelMap = new TreeMap<>(LoganSquare.parseMap(json, SimpleModel.class)); reserialized = LoganSquare.serialize(simpleModelMap, SimpleModel.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleModelWithGenericField() { String json = "{\"generic_model\":{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_nested_generic\":{\"test_double\":0.0,\"test_float\":0.2,\"test_int\":10,\"test_long\":0},\"test_string\":\"anotherTestString\",\"test_t\":\"generic string!\"},\"string\":\"hi\"}"; String reserialized = null; try { SimpleModelWithGenericField model = LoganSquare.parse(json, SimpleModelWithGenericField.class); reserialized = LoganSquare.serialize(model); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void floatList() { String json = "[1.4,2.0,3.0,4.0,5.03,6.2]"; String reserialized = null; try { List<Float> list = LoganSquare.parseList(json, Float.class); reserialized = LoganSquare.serialize(list, Float.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void booleanList() { String json = "[true,false,false,false,true]"; String reserialized = null; try { List<Boolean> list = LoganSquare.parseList(json, Boolean.class); reserialized = LoganSquare.serialize(list, Boolean.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void twoParamGenericModelObject() { String json = "{\"t_list\":[\"a\",\"b\"],\"test_k\":1,\"test_t\":\"hello\"}"; String reserialized = null; try { ParameterizedType<TwoParamGenericModel<String, Integer>> parameterizedType = new ParameterizedType<TwoParamGenericModel<String, Integer>>() { }; TwoParamGenericModel<String, Integer> model = LoganSquare.parse(json, parameterizedType); reserialized = LoganSquare.serialize(model, parameterizedType); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleGenericExtendsStringObject() { String json = "{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\",\"test_t\":\"generic string!\"}"; String reserialized = null; try { ParameterizedType<SimpleGenericModelWithExtends<String>> parameterizedType = new ParameterizedType<SimpleGenericModelWithExtends<String>>() { }; SimpleGenericModelWithExtends<String> model = LoganSquare.parse(json, parameterizedType); reserialized = LoganSquare.serialize(model, parameterizedType); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleGenericGenericObject() { String json = "{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\",\"test_t\":{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\",\"test_t\":\"generic string!\"}}"; String reserialized = null; try { ParameterizedType<SimpleGenericModel<SimpleGenericModel<String>>> parameterizedType = new ParameterizedType<SimpleGenericModel<SimpleGenericModel<String>>>() { }; SimpleGenericModel<SimpleGenericModel<String>> simpleModel = LoganSquare.parse(json, parameterizedType); reserialized = LoganSquare.serialize(simpleModel, parameterizedType); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleObject() { String json = "{\"date\":\"2015-02-21T18:45:50.748+0000\",\"object_map\":{\"key2\":2,\"key\":\"value\"},\"primitiveByteArray\":[1,2,3],\"primitiveIntArray\":[1,3,5],\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\"}"; String reserialized = null; try { SimpleModel simpleModel = LoganSquare.parse(json, SimpleModel.class); reserialized = LoganSquare.serialize(simpleModel); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void stringList() { String json = "[\"test1\",\"test2\",\"test3\",\"test4\"]"; String reserialized = null; try { List<String> list = LoganSquare.parseList(json, String.class); reserialized = LoganSquare.serialize(list, String.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleGenericObject() { String json = "{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_nested_generic\":{\"test_double\":0.0,\"test_float\":0.2,\"test_int\":10,\"test_long\":0},\"test_string\":\"anotherTestString\",\"test_t\":\"generic string!\"}"; String reserialized = null; try { ParameterizedType<SimpleGenericModel<String>> parameterizedType = new ParameterizedType<SimpleGenericModel<String>>() { }; SimpleGenericModel<String> simpleModel = LoganSquare.parse(json, parameterizedType); reserialized = LoganSquare.serialize(simpleModel, parameterizedType); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void twoParamGenericWithStringModelObject() { String json = "{\"t_list\":[\"a\",\"b\"],\"test_k\":1,\"test_t\":\"hello\"}"; String reserialized = null; try { ParameterizedType<TwoParamGenericWithStringModel<Integer>> parameterizedType = new ParameterizedType<TwoParamGenericWithStringModel<Integer>>() { }; TwoParamGenericWithStringModel<Integer> model = LoganSquare.parse(json, parameterizedType); reserialized = LoganSquare.serialize(model, parameterizedType); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void externalObject() { String json = "{\"string\":\"I am a very good string.\"}"; String reserialized = null; try { ExternalModel simpleModel = LoganSquare.parse(json, ExternalModel.class); reserialized = LoganSquare.serialize(simpleModel); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void simpleObjectList() { String json = "[{\"date\":\"2015-02-21T18:45:50.748+0000\",\"string\":\"testString\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\"}," + "{\"date\":\"2015-02-22T18:45:50.748+0000\",\"string\":\"testString2\",\"test_double\":342.0,\"test_double_obj\":345.0,\"test_float\":898.0,\"test_float_obj\":382.0,\"test_int\":32,\"test_int_obj\":323,\"test_long\":932,\"test_long_obj\":3920,\"test_string\":\"anotherTestString\"}]"; String reserialized = null; try { List<SimpleModel> simpleModels = LoganSquare.parseList(json, SimpleModel.class); reserialized = LoganSquare.serialize(simpleModels, SimpleModel.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void intList() { String json = "[1,2,3,4,5,6]"; String reserialized = null; try { List<Integer> list = LoganSquare.parseList(json, Integer.class); reserialized = LoganSquare.serialize(list, Integer.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void mixedObjectList() { String json = "[true,1,1.0,\"test1\",false,1000,1000000000,\"test2\",{\"subkey1\":1,\"subkey2\":\"string\"},[1,2,3]]"; String reserialized = null; try { List<Object> list = LoganSquare.parseList(json, Object.class); reserialized = LoganSquare.serialize(list, Object.class); } catch (Exception ignored) { } ASSERT.that(json.equals(reserialized)).isTrue(); }
@Test public void enumList() { String json = "{\"enum_array\":[\"TWO\",\"ONE\"],\"enum_list\":[\"ONE\",\"TWO\",\"ONE\"],\"enum_map\":{\"key\":\"ONE\"},\"enum_obj\":\"ONE\"}"; String serialized = null; try { LoganSquare.registerTypeConverter(TestEnum.class, new LsEnumTestConverter()); EnumListModel test = LoganSquare.parse(json, EnumListModel.class); serialized = LoganSquare.serialize(test); } catch (Exception ignored) { } ASSERT.that(json.equals(serialized)).isTrue(); }