static void testSimpleGet() { JSONParse parser = new JSONParse(SAMPLE1); System.assertEquals(true, parser.isObject()); System.assertEquals(false, parser.isArray()); System.assertEquals("File", parser.get("menu.value").getStringValue()); System.assertEquals("File", parser.get("menu.value").getValue()); }
static void testCompoundGet() { JSONParse parser = new JSONParse(SAMPLE1); System.assertEquals(true, parser.isObject()); System.assertEquals(false, parser.isArray()); System.assertEquals("Close", parser.get("menu").get("popup.menuitem").get("[2].value").getStringValue()); }
static void testNumberGet() { JSONParse parser = new JSONParse(SAMPLE2); System.assertEquals(true, parser.isObject()); System.assertEquals(false, parser.isArray()); System.assertEquals(100, parser.get("widget.text.vOffset").getIntegerValue()); }
static void testArrayGet() { JSONParse parser = new JSONParse(SAMPLE1); System.assertEquals(true, parser.isObject()); System.assertEquals(false, parser.isArray()); System.assertEquals("OpenDoc()", parser.get("menu.popup.menuitem.[1].onclick").getValue()); }
static void testGetNotAnArrayException() { JSONParse parser = new JSONParse(SAMPLE1); try { parser.get("menu.popup.[0]"); System.assert(false, "Node is not an array, should have seen an exception about that."); } catch (JSONParse.NotAnArrayException e) { System.assert(e.getMessage().startsWith("The wrapped value is not a JSON array:")); } }
static void testMissingKeyException() { JSONParse parser = new JSONParse(SAMPLE2); try { parser.get("badKey"); System.assert(false, "Our key was invalid, should have seen an exception about that."); } catch (JSONParse.MissingKeyException e) { System.assertEquals("No match found for <badKey>: {widget}", e.getMessage()); } }
static void testOutOfBoundsException() { JSONParse parser = new JSONParse(SAMPLE3); try { parser.get("[7]"); System.assert(false, "We used an index outside the bounds of our array, should have seen an exception about that."); } catch (ListException e) { System.assertEquals("List index out of bounds: 7", e.getMessage()); } }
static void testAsMap() { JSONParse parser = new JSONParse(SAMPLE1); System.assertEquals(true, parser.isObject()); System.assertEquals(false, parser.isArray()); Map <string, JSONParse> theMap = parser.get("menu").asMap(); System.assertEquals(3, theMap.size()); System.assertEquals(false, theMap.get("id").isObject()); System.assertEquals(false, theMap.get("id").isArray()); System.assertEquals("file", theMap.get("id").getValue()); System.assertEquals(true, theMap.get("popup").isObject()); System.assertEquals(false, theMap.get("popup").isArray()); }