@Test
public void reportsMultipleDifferenceTypesOnObjects() {

    Node actual = Node.objectNode().withMember("foo", Node.from("bar")).withMember("snap", Node.from("crackle"));
    Node expected = Node.objectNode().withMember("foo", Node.from("baz")).withMember("fizz", Node.from("buzz"));
    assertThat(NodeDiff.diff(actual, expected), containsInAnyOrder(
            "[/foo]: Expected `\"baz\"` but found `\"bar\"`",
            "[]: Expected key `fizz` not present.",
            "[]: Extra key `snap` encountered with content: \"crackle\""));
}