@Test void testMergeInDepth0() { { JsonObject obj1 = JsonParser.create().parseAsJsonObject("{ \"foo\": { \"bar\": \"flurb\" }}"); JsonObject obj2 = JsonParser.create().parseAsJsonObject("{ \"foo\": { \"bar\": \"eek\" }}"); obj1.mergeIn(obj2, 0); assertEquals(1, obj1.size()); assertEquals(1, obj1.getJsonObject("foo").size()); assertEquals("flurb", obj1.getJsonObject("foo").getString("bar")); } { JsonObject obj1 = JsonParser.createLazyOne().parseAsJsonObject("{ \"foo\": { \"bar\": \"flurb\" }}"); JsonObject obj2 = JsonParser.createLazyOne().parseAsJsonObject("{ \"foo\": { \"bar\": \"eek\" }}"); obj1.mergeIn(obj2, 0); assertEquals(1, obj1.size()); assertEquals(1, obj1.getJsonObject("foo").size()); assertEquals("flurb", obj1.getJsonObject("foo").getString("bar")); } }
@Test void testMergeInDepth1() { { JsonObject obj1 = JsonParser.create().parseAsJsonObject("{ \"foo\": \"bar\", \"flurb\": { \"eek\": \"foo\", \"bar\": \"flurb\"}}"); JsonObject obj2 = JsonParser.create().parseAsJsonObject("{ \"flurb\": { \"bar\": \"flurb1\" }}"); obj1.mergeIn(obj2, 1); assertEquals(2, obj1.size()); assertEquals(1, obj1.getJsonObject("flurb").size()); assertEquals("flurb1", obj1.getJsonObject("flurb").getString("bar")); } { JsonObject obj1 = JsonParser.createLazyOne().parseAsJsonObject("{ \"foo\": \"bar\", \"flurb\": { \"eek\": \"foo\", \"bar\": \"flurb\"}}"); JsonObject obj2 = JsonParser.createLazyOne().parseAsJsonObject("{ \"flurb\": { \"bar\": \"flurb1\" }}"); obj1.mergeIn(obj2, 1); assertEquals(2, obj1.size()); assertEquals(1, obj1.getJsonObject("flurb").size()); assertEquals("flurb1", obj1.getJsonObject("flurb").getString("bar")); } }
@Test void testMergeInDepth2() { { JsonObject obj1 = new JsonObject(JsonParser.create().parse("{ \"foo\": \"bar\", \"flurb\": { \"eek\": \"foo\", \"bar\": \"flurb\"}}")); JsonObject obj2 = new JsonObject(JsonParser.create().parse("{ \"flurb\": { \"bar\": \"flurb1\" }}")); obj1.mergeIn(obj2, 2); assertEquals(2, obj1.size()); assertEquals(2, obj1.getJsonObject("flurb").size()); assertEquals("foo", obj1.getJsonObject("flurb").getString("eek")); assertEquals("flurb1", obj1.getJsonObject("flurb").getString("bar")); } { JsonObject obj1 = new JsonObject(JsonParser.createLazyOne().parse("{ \"foo\": \"bar\", \"flurb\": { \"eek\": \"foo\", \"bar\": \"flurb\"}}")); JsonObject obj2 = new JsonObject(JsonParser.createLazyOne().parse("{ \"flurb\": { \"bar\": \"flurb1\" }}")); obj1.mergeIn(obj2, 2); assertEquals(2, obj1.size()); assertEquals(2, obj1.getJsonObject("flurb").size()); assertEquals("foo", obj1.getJsonObject("flurb").getString("eek")); assertEquals("flurb1", obj1.getJsonObject("flurb").getString("bar")); } }