### Question:
JsonStore implements ConfigurationStore { public JsonStore addResource(Resource resource, String key, String... tags) { List<String> tagList = new ArrayList<String>(); addAll(tagList, tags); return new JsonStore(this, key, new TaggedResource(resource, tagList)); } JsonStore(); private  JsonStore(JsonStore old, String key, TaggedResource resource); JsonStore addResource(Resource resource, String key, String... tags); Collection<TaggedPropertySet> parseConfiguration(); static final Charset DEFAULT_CHARSET; }### Answer:
@Test public void jsonShouldParseCorrectly() { ConstrettoConfiguration conf = new ConstrettoBuilder() .createJsonConfigurationStore() .addResource(Resource.create("classpath:jsonTest.json"), "person") .done() .getConfiguration(); Person person = conf.evaluateWith(new PersonJsonConverter(), "person"); assertEquals(new Person("Kaare", 29), person); }
@Test public void jsonShouldAllowNonExistingResources() { ConstrettoConfiguration conf = new ConstrettoBuilder() .createJsonConfigurationStore() .addResource(Resource.create("classpath:nonExisiting.json"), "person") .addResource(Resource.create("file:/nonExisiting.json"), "person") .addResource(Resource.create("http:/nonExisiting.com"), "person") .done() .getConfiguration(); assertFalse(conf.hasValue("person")); }