public void testWriteServicePropertiesWithoutKey() throws Exception { OsgiRepresentationHelper.writeServiceProperties( generator, serviceReferenceWithProperties(mapBuilder().put("matrix", "4x4"))); JSONObject actual = outputAsObject(); assertTrue("Missing sole key", actual.has("matrix")); assertEquals("Missing value", "4x4", actual.get("matrix")); }
public void testWriteServicePropertiesWithKey() throws Exception { generator.writeStartObject(); OsgiRepresentationHelper.writeServiceProperties( generator, "props", serviceReferenceWithProperties(mapBuilder().put("matrix", "4x4"))); generator.writeEndObject(); JSONObject actual = outputAsObject(); assertTrue("Missing key", actual.has("props")); assertTrue("Missing properties", actual.getJSONObject("props").has("matrix")); }
public void testWriteSingleLevelNestedProperties() throws Exception { OsgiRepresentationHelper.writeServiceProperties( generator, serviceReferenceWithProperties( mapBuilder() .put("service.pid", "com.sun.java.foo") .put("service.description", "Metasyntax"))); JSONObject actual = outputAsObject(); assertTrue("Missing nested property root", actual.has("service")); assertEquals( "Missing nested PID", "com.sun.java.foo", actual.getJSONObject("service").get("pid")); assertEquals( "Missing nested desc", "Metasyntax", actual.getJSONObject("service").get("description")); }
public void testManyLevelNestedProperties() throws Exception { OsgiRepresentationHelper.writeServiceProperties( generator, serviceReferenceWithProperties( mapBuilder() .put("a.b.c.d", 4) .put("a.b.f", "3.0") .put("a.g.h", 3.1) .put("a.g.i.j.k", "5.0") .put("a.g.i.j.l", 5.25f) .put("m.n", "two") .put("o", "one"))); JSONObject actual = outputAsObject(); assertEquals( "Missing four-level nest", 4, actual.getJSONObject("a").getJSONObject("b").getJSONObject("c").get("d")); assertEquals( "Missing three-level nest", "3.0", actual.getJSONObject("a").getJSONObject("b").get("f")); assertEquals( "Missing three-level nest", 3.1, actual.getJSONObject("a").getJSONObject("g").get("h")); assertEquals( "Missing five-level nest", "5.0", actual .getJSONObject("a") .getJSONObject("g") .getJSONObject("i") .getJSONObject("j") .get("k")); assertEquals( "Missing five-level nest", 5.25, actual .getJSONObject("a") .getJSONObject("g") .getJSONObject("i") .getJSONObject("j") .get("l")); assertEquals("Missing two-level nest", "two", actual.getJSONObject("m").get("n")); assertEquals("Missing flat property", "one", actual.get("o")); }