/** * Checks is this row is covered by the provided exclusion. * * @param exclusion The exclusion to check against. * @return The result of the check */ public boolean isCovered(ObjectNode exclusion) { return Exclusion.firstCoversSecond(exclusion, _data); }
boolean covered = false; for (JsonNode secondElement : second) { if (firstCoversSecond(firstElement, secondElement)) { covered = true; break; return false; if (!firstCoversSecond(first.get(key), second.get(key))) { return false;
@Test public void firstCoversSecondObjectCovers() { JsonNode node1 = BatfishObjectMapper.mapper().createObjectNode().set("key1", new TextNode("value")); JsonNode node2 = BatfishObjectMapper.mapper().createObjectNode().set("key1", new TextNode("value")); // we couldn't just chain the two sets because set returns JsonNode, not ObjectNode ((ObjectNode) node2).set("key2", new TextNode("value")); boolean result = Exclusion.firstCoversSecond(node1, node2); assertThat(result, equalTo(true)); }
@Test public void firstCoversSecondObjectMissingKey() { JsonNode node1 = BatfishObjectMapper.mapper().createObjectNode().set("key1", new TextNode("value")); JsonNode node2 = BatfishObjectMapper.mapper().createObjectNode().set("key2", new TextNode("value")); boolean result = Exclusion.firstCoversSecond(node1, node2); assertThat(result, equalTo(false)); }
@Test public void firstCoversSecondObjectMismatchType() { JsonNode node1 = BatfishObjectMapper.mapper().createObjectNode().set("key1", new TextNode("value")); JsonNode node2 = BatfishObjectMapper.mapper().createArrayNode().add(new TextNode("value")); boolean result = Exclusion.firstCoversSecond(node1, node2); assertThat(result, equalTo(false)); }
@Test public void firstCoversSecondValueMismatch() { JsonNode node1 = new TextNode("2"); JsonNode node2 = new IntNode(2); // different type boolean result = Exclusion.firstCoversSecond(node1, node2); assertThat(result, equalTo(false)); } }
@Test public void firstCoversSecondValueMatch() { JsonNode node1 = new TextNode("abc"); JsonNode node2 = new TextNode("abc"); boolean result = Exclusion.firstCoversSecond(node1, node2); assertThat(result, equalTo(true)); }
@Test public void firstCoversSecondArrayCovers() { JsonNode node1 = BatfishObjectMapper.mapper().createArrayNode().add(new TextNode("value")); JsonNode node2 = BatfishObjectMapper.mapper() .createArrayNode() .add(new TextNode("value2")) .add(new TextNode("value")); boolean result = Exclusion.firstCoversSecond(node1, node2); assertThat(result, equalTo(true)); }