private boolean addProduct(JsonObject product) { if (product.containsKey("name") || product.containsKey("price") || product.containsKey("weight")) { products.put(product.getString("id"), product); return true; } else { return false; } } }
@Test public void testContainsKey() { jsonObject.put("foo", "bar"); assertTrue(jsonObject.containsKey("foo")); jsonObject.putNull("foo"); assertTrue(jsonObject.containsKey("foo")); assertFalse(jsonObject.containsKey("absent")); }
@Test public void testGetMap() { jsonObject.put("foo", "bar"); jsonObject.put("quux", 123); JsonObject obj = createJsonObject(); jsonObject.put("wibble", obj); Map<String, Object> map = jsonObject.getMap(); map.remove("foo"); assertFalse(jsonObject.containsKey("foo")); map.put("bleep", "flarp"); assertTrue(jsonObject.containsKey("bleep")); jsonObject.remove("quux"); assertFalse(map.containsKey("quux")); jsonObject.put("wooble", "plink"); assertTrue(map.containsKey("wooble")); assertSame(obj, map.get("wibble")); }
@Test public void testPutCharSequence() { assertSame(jsonObject, jsonObject.put("foo", new StringBuilder("bar"))); assertEquals("bar", jsonObject.getString("foo")); assertEquals("bar", jsonObject.getString("foo", "def")); jsonObject.put("quux",new StringBuilder("wibble")); assertEquals("wibble", jsonObject.getString("quux")); assertEquals("bar", jsonObject.getString("foo")); jsonObject.put("foo", new StringBuilder("blah")); assertEquals("blah", jsonObject.getString("foo")); jsonObject.put("foo", (CharSequence) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, (CharSequence)"blah"); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutString() { assertSame(jsonObject, jsonObject.put("foo", "bar")); assertEquals("bar", jsonObject.getString("foo")); jsonObject.put("quux", "wibble"); assertEquals("wibble", jsonObject.getString("quux")); assertEquals("bar", jsonObject.getString("foo")); jsonObject.put("foo", "blah"); assertEquals("blah", jsonObject.getString("foo")); jsonObject.put("foo", (String) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, "blah"); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutEnum() { assertSame(jsonObject, jsonObject.put("foo", SomeEnum.FOO)); assertEquals(SomeEnum.FOO.toString(), jsonObject.getString("foo")); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, SomeEnum.FOO); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testCopy() { jsonObject.put("foo", "bar"); jsonObject.put("quux", 123); JsonObject obj = createJsonObject(); jsonObject.put("wibble", obj); jsonObject.put("eek", new StringBuilder("blah")); // CharSequence JsonObject copy = jsonObject.copy(); assertNotSame(jsonObject, copy); assertEquals(jsonObject, copy); copy.put("blah", "flib"); assertFalse(jsonObject.containsKey("blah")); copy.remove("foo"); assertFalse(copy.containsKey("foo")); assertTrue(jsonObject.containsKey("foo")); jsonObject.put("oob", "flarb"); assertFalse(copy.containsKey("oob")); jsonObject.remove("quux"); assertFalse(jsonObject.containsKey("quux")); assertTrue(copy.containsKey("quux")); JsonObject nested = jsonObject.getJsonObject("wibble"); JsonObject nestedCopied = copy.getJsonObject("wibble"); assertNotSame(nested, nestedCopied); assertEquals(nested, nestedCopied); assertEquals("blah", copy.getString("eek")); }
@Test public void testPutJsonObject() { JsonObject obj1 = new JsonObject().put("blah", "wibble"); JsonObject obj2 = new JsonObject().put("eeek", "flibb"); JsonObject obj3 = new JsonObject().put("floob", "plarp"); assertSame(jsonObject, jsonObject.put("foo", obj1)); assertEquals(obj1, jsonObject.getJsonObject("foo")); jsonObject.put("quux", obj2); assertEquals(obj2, jsonObject.getJsonObject("quux")); assertEquals(obj1, jsonObject.getJsonObject("foo")); jsonObject.put("foo", obj3); assertEquals(obj3, jsonObject.getJsonObject("foo")); jsonObject.put("foo", (JsonObject) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, new JsonObject()); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutFloat() { assertSame(jsonObject, jsonObject.put("foo", 123f)); assertEquals(Float.valueOf(123f), jsonObject.getFloat("foo")); jsonObject.put("quux", 321f); assertEquals(Float.valueOf(321f), jsonObject.getFloat("quux")); assertEquals(Float.valueOf(123f), jsonObject.getFloat("foo")); jsonObject.put("foo", 456f); assertEquals(Float.valueOf(456f), jsonObject.getFloat("foo")); jsonObject.put("foo", (Float) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, 1.2f); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutInteger() { assertSame(jsonObject, jsonObject.put("foo", 123)); assertEquals(Integer.valueOf(123), jsonObject.getInteger("foo")); jsonObject.put("quux", 321); assertEquals(Integer.valueOf(321), jsonObject.getInteger("quux")); assertEquals(Integer.valueOf(123), jsonObject.getInteger("foo")); jsonObject.put("foo", 456); assertEquals(Integer.valueOf(456), jsonObject.getInteger("foo")); jsonObject.put("foo", (Integer) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, 123); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testIterator() { jsonObject.put("foo", "bar"); jsonObject.put("quux", 123); JsonObject obj = createJsonObject(); jsonObject.put("wibble", obj); Iterator<Map.Entry<String, Object>> iter = jsonObject.iterator(); assertTrue(iter.hasNext()); Map.Entry<String, Object> entry = iter.next(); assertEquals("foo", entry.getKey()); assertEquals("bar", entry.getValue()); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals("quux", entry.getKey()); assertEquals(123, entry.getValue()); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals("wibble", entry.getKey()); assertEquals(obj, entry.getValue()); assertFalse(iter.hasNext()); iter.remove(); assertFalse(obj.containsKey("wibble")); assertEquals(2, jsonObject.size()); }
@Test public void testPutLong() { assertSame(jsonObject, jsonObject.put("foo", 123l)); assertEquals(Long.valueOf(123l), jsonObject.getLong("foo")); jsonObject.put("quux", 321l); assertEquals(Long.valueOf(321l), jsonObject.getLong("quux")); assertEquals(Long.valueOf(123l), jsonObject.getLong("foo")); jsonObject.put("foo", 456l); assertEquals(Long.valueOf(456l), jsonObject.getLong("foo")); jsonObject.put("foo", (Long) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, 123l); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutDouble() { assertSame(jsonObject, jsonObject.put("foo", 123d)); assertEquals(Double.valueOf(123d), jsonObject.getDouble("foo")); jsonObject.put("quux", 321d); assertEquals(Double.valueOf(321d), jsonObject.getDouble("quux")); assertEquals(Double.valueOf(123d), jsonObject.getDouble("foo")); jsonObject.put("foo", 456d); assertEquals(Double.valueOf(456d), jsonObject.getDouble("foo")); jsonObject.put("foo", (Double) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, 1.23d); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testChangesNotVisibleObject1() { JsonObject obj = new JsonObject(); eb.<JsonObject>consumer("foo").handler((Message<JsonObject> msg) -> { assertFalse(msg.body().containsKey("b")); testComplete(); }); eb.send("foo", obj); obj.put("b", "blurrgg"); await(); }
@Test public void testChangesNotVisibleObject3() { Map<String, Object> map = new HashMap<>(); final JsonObject obj = new JsonObject(map); eb.<JsonObject>consumer("foo").handler((Message<JsonObject> msg) -> { vertx.setTimer(1000, id -> { assertFalse(msg.body().containsKey("b")); testComplete(); }); }); eb.send("foo", obj); map.put("b", "uhqdihuqwd"); await(); }
@Test public void testPutNull() { assertSame(jsonObject, jsonObject.putNull("foo")); assertTrue(jsonObject.containsKey("foo")); assertSame(jsonObject, jsonObject.putNull("bar")); assertTrue(jsonObject.containsKey("bar")); try { jsonObject.putNull(null); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutJsonArray() { JsonArray obj1 = new JsonArray().add("parp"); JsonArray obj2 = new JsonArray().add("fleep"); JsonArray obj3 = new JsonArray().add("woob"); assertSame(jsonObject, jsonObject.put("foo", obj1)); assertEquals(obj1, jsonObject.getJsonArray("foo")); jsonObject.put("quux", obj2); assertEquals(obj2, jsonObject.getJsonArray("quux")); assertEquals(obj1, jsonObject.getJsonArray("foo")); jsonObject.put("foo", obj3); assertEquals(obj3, jsonObject.getJsonArray("foo")); jsonObject.put("foo", (JsonArray) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, new JsonArray()); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testPutBoolean() { assertSame(jsonObject, jsonObject.put("foo", true)); assertEquals(true, jsonObject.getBoolean("foo")); jsonObject.put("quux", true); assertEquals(true, jsonObject.getBoolean("quux")); assertEquals(true, jsonObject.getBoolean("foo")); jsonObject.put("foo", true); assertEquals(true, jsonObject.getBoolean("foo")); jsonObject.put("foo", (Boolean) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, false); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testChangesNotVisibleObject2() { final JsonObject obj = new JsonObject(); eb.<JsonObject>consumer("foo").handler((Message<JsonObject> msg) -> { msg.body().put("b", "uqwduihwqd"); }); eb.send("foo", obj); vertx.setTimer(1000, id -> { assertFalse(obj.containsKey("b")); testComplete(); }); await(); }
@Test public void testPutInstant() { Instant bin1 = Instant.now(); Instant bin2 = bin1.plus(1, ChronoUnit.DAYS); Instant bin3 = bin1.plus(1, ChronoUnit.MINUTES); assertSame(jsonObject, jsonObject.put("foo", bin1)); assertEquals(bin1, jsonObject.getInstant("foo")); assertEquals(bin1.toString(), jsonObject.getValue("foo")); jsonObject.put("quux", bin2); assertEquals(bin2, jsonObject.getInstant("quux")); assertEquals(bin2.toString(), jsonObject.getValue("quux")); assertEquals(bin1, jsonObject.getInstant("foo")); assertEquals(bin1.toString(), jsonObject.getValue("foo")); jsonObject.put("foo", bin3); assertEquals(bin3, jsonObject.getInstant("foo")); assertEquals(bin3.toString(), jsonObject.getValue("foo")); jsonObject.put("foo", (Instant) null); assertTrue(jsonObject.containsKey("foo")); try { jsonObject.put(null, bin1); fail(); } catch (NullPointerException e) { // OK } }