@Test
public void reportsMultipleDifferenceTypesOnLists() {

    Node actual = Node.fromStrings("fizz", "buzz");
    Node expected = Node.fromStrings("snap", "crackle", "pop");
    assertThat(NodeDiff.diff(actual, expected), contains(
            "[]: Expected element (position 2) not encountered in list: \"pop\"",
            "[[0]]: Expected `\"snap\"` but found `\"fizz\"`",
            "[[1]]: Expected `\"crackle\"` but found `\"buzz\"`"));
}