@Test public void testToJSONString() { final String json = node.toJSONString(false); assertNotNull(json); assertEquals(true, json.contains("\n")); assertEquals(true, json.contains(" ")); assertThat(json, containsString("\"description\" : \"A managable resource\",")); assertThat( json, containsString("\"type\" : {\n \"TYPE_MODEL_VALUE\" : \"OBJECT\"\n },")); assertThat(json, containsString("\"tail-comment-allowed\" : false,")); assertThat(json, containsString("\"attributes\" : {")); assertThat(json, containsString("\"foo\" : \"some description of foo\",")); assertThat(json, containsString("\"bar\" : \"some description of bar\",")); assertThat(json, containsString("\"list\" : [")); assertThat(json, containsString("\"value1\",")); assertThat(json, containsString("\"value2\",")); assertThat(json, containsString("\"value3\"")); assertThat(json, containsString("\"value-type\" : {")); assertThat( json, containsString("\"size\" : {\n \"TYPE_MODEL_VALUE\" : \"INT\"\n },")); assertThat( json, containsString("\"color\" : {\n \"TYPE_MODEL_VALUE\" : \"STRING\"\n }")); assertThat(json, containsString("\"big-decimal-value\" : 10.0,")); assertThat(json, containsString("\"big-integer-value\" : 10,")); assertThat( json, containsString("\"bytes-value\" : {\n \"BYTES_VALUE\" : \"ADc=\"\n },")); assertThat(json, containsString("\"double-value\" : 55.0,")); assertThat(json, containsString("\"max-double-value\" : 1.7976931348623157E308,")); assertThat(json, containsString("\"int-value\" : 12,")); assertThat(json, containsString("\"max-int-value\" : 2147483647,")); assertThat(json, containsString("\"long-value\" : 14")); assertThat(json, containsString("\"max-long-value\" : 9223372036854775807")); assertThat( json, containsString( "\n \"property-value\" : {\n \"property\" : {\n \"TYPE_MODEL_VALUE\" : \"PROPERTY\"\n }\n },")); assertThat( json, containsString( "\"expression-value\" : {\n \"EXPRESSION_VALUE\" : \"$expression\"\n }")); assertThat(json, containsString("\"true-value\" : true")); assertThat(json, containsString("\"false-value\" : false")); assertThat(json, containsString("\n}")); final String compressedJson = node.toJSONString(true); assertNotNull(compressedJson); assertEquals(false, compressedJson.contains("\n")); assertEquals(false, compressedJson.contains(" ")); }
@Test public void testFromJSONString() { final ModelNode parsedNode = ModelNode.fromJSONString(node.toJSONString(true)); // TODO why not a simple equality check? assertThat( parsedNode.toString(), containsString("\"description\" => \"A managable resource\",")); assertThat(parsedNode.toString(), containsString("\"type\" => OBJECT,")); assertThat(parsedNode.toString(), containsString("\"tail-comment-allowed\" => false,")); assertThat( parsedNode.toString(), containsString( "\"attributes\" => {\n \"foo\" => \"some description of foo\",\n \"bar\" => \"some description of bar\",\n")); assertThat( parsedNode.toString(), containsString( "\n \"list\" => [\n \"value1\",\n \"value2\",\n \"value3\"\n ]\n },")); assertThat( parsedNode.toString(), containsString( "\n \"value-type\" => {\n \"size\" => INT,\n \"color\" => STRING\n },")); assertThat(parsedNode.toString(), containsString("\"big-decimal-value\" => big decimal 10.0,")); assertThat(parsedNode.toString(), containsString("\"big-integer-value\" => 10,")); assertThat( parsedNode.toString(), containsString("\"bytes-value\" => bytes {\n 0x00, 0x37\n },")); assertThat(parsedNode.toString(), containsString("\"double-value\" => big decimal 55.0,")); assertThat( parsedNode.toString(), containsString("\"max-double-value\" => big decimal 1.7976931348623157E+308,")); assertThat(parsedNode.toString(), containsString("\"int-value\" => 12,")); assertThat(parsedNode.toString(), containsString("\"max-int-value\" => 2147483647,")); assertThat(parsedNode.toString(), containsString("\"long-value\" => 14,")); assertThat( parsedNode.toString(), containsString("\"max-long-value\" => 9223372036854775807L,")); assertThat( parsedNode.toString(), containsString("\"property-value\" => {\"property\" => PROPERTY},")); assertThat( parsedNode.toString(), containsString("\"expression-value\" => expression \"$expression\",")); assertThat(parsedNode.toString(), containsString("\"true-value\" => true,")); assertThat(parsedNode.toString(), containsString("\"false-value\" => false")); }