@Override public boolean remove(Object o) { if(strategy == null) { return super.remove(o); } else { Iterator<JsonElement> it = iterator(); while (it.hasNext()) { JsonElement jsonElement = it.next(); if(strategy.equals((JsonElement)o,jsonElement)) { it.remove(); return true; } } } return false; }
public void shouldRemovePrimitive() { JsonArray array = array("1","2","3"); array.remove("2"); assertThat("should be removed as primitive", !array.contains(primitive("2"))); assertThat("should be removed as primitive", !array.contains("2")); array.remove(primitive("3")); assertThat("should be removed", !array.contains(primitive("3"))); assertThat("should be removed", !array.contains("3")); }
public void shouldDoDeepClone() { JsonArray a = array(1, 2, 3); JsonArray cloneOfA = a.deepClone(); assertThat(a).isEqualTo(cloneOfA); a.remove(1); assertThat(a).isNotEqualTo(cloneOfA); JsonArray b = array(); b.addAll(cloneOfA); assertThat(b).isEqualTo(b.clone()); assertThat(b).isEqualTo(cloneOfA); }