@Test
public void doCompare() {

    try {
        Tuple2 actual = Tuple2.fromList(FDBHolderImpl.parseDirString(dirString));
        if(expected.size() != actual.size()) {
            fail(String.format("Tuple size mismatch: [%s] vs [%s]", expected.getItems(), actual.getItems()));
        }
        for(int i = 0; i < expected.size(); ++i) {
            Object e = expected.get(i);
            Object a = actual.get(i);
            assertEquals(String.format("tuple(%d)", i), e, a);
        }
    } catch(IllegalArgumentException e) {
        if(dirString != null) {
            throw e;
        }
        // else: expected
    }
}