@@ -0,0 +1,2113 @@
+package com.github.nsnjson;%0A%0Aimport com.fasterxml.jackson.databind.ObjectMapper;%0Aimport com.fasterxml.jackson.databind.node.*;%0A%0Aimport java.util.*;%0A%0Apublic abstract class AbstractTest %7B%0A%0A    protected static NullNode getNull() %7B%0A        return NullNode.getInstance();%0A    %7D%0A%0A    protected static NumericNode getNumberInt() %7B%0A        return new IntNode(new Random().nextInt());%0A    %7D%0A%0A    protected static NumericNode getNumberLong() %7B%0A        return new LongNode(new Random().nextLong());%0A    %7D%0A%0A    protected static NumericNode getNumberDouble() %7B%0A        return new DoubleNode(new Random().nextDouble());%0A    %7D%0A%0A    protected static TextNode getEmptyString() %7B%0A        return new TextNode(%22%22);%0A    %7D%0A%0A    protected static TextNode getString() %7B%0A        return new TextNode(UUID.randomUUID().toString().replaceAll(%22-%22, %22%22));%0A    %7D%0A%0A    protected static BooleanNode getBooleanTrue() %7B%0A        return BooleanNode.getTrue();%0A    %7D%0A%0A    protected static BooleanNode getBooleanFalse() %7B%0A        return BooleanNode.getFalse();%0A    %7D%0A%0A    protected static ArrayNode getEmptyArray() %7B%0A        return new ObjectMapper().createArrayNode();%0A    %7D%0A%0A    protected static ArrayNode getArray() %7B%0A        ArrayNode array = getEmptyArray();%0A        array.add(getNull());%0A        array.add(getBooleanTrue());%0A        array.add(getBooleanFalse());%0A        array.add(getNumberInt());%0A        array.add(getNumberLong());%0A        array.add(getNumberDouble());%0A        array.add(getString());%0A%0A        return array;%0A    %7D%0A%0A    protected static ObjectNode getEmptyObject() %7B%0A        return new ObjectMapper().createObjectNode();%0A    %7D%0A%0A    protected static ObjectNode getObject() %7B%0A        ObjectNode object = new ObjectMapper().createObjectNode();%0A        object.set(%22null_field%22, getNull());%0A        object.set(%22int_field%22, getNumberInt());%0A        object.set(%22long_field%22, getNumberLong());%0A        object.set(%22double_field%22, getNumberDouble());%0A        object.set(%22true_field%22, getBooleanTrue());%0A        object.set(%22false_field%22, getBooleanFalse());%0A        object.set(%22string_field%22, getString());%0A%0A        return object;%0A    %7D%0A%0A%7D

Implement AbstractTest. It provides JSON values: