private void compareLines(final List<String> arpaLines, final List<String> goldArpaLines) {
Assert.assertEquals(arpaLines.size(), goldArpaLines.size());
for (final Pair<String, String> lines : Iterators.able(Iterators.zip(arpaLines.iterator(), goldArpaLines.iterator()))) {
final String testLine = lines.getFirst().trim();
final String goldLine = lines.getSecond().trim();
if (goldLine.startsWith("-")) {
Assert.assertTrue(lines.toString(), testLine.startsWith("-"));
final String[] testSplit = testLine.split("\t");
final String[] goldSplit = goldLine.split("\t");
Assert.assertEquals(lines.toString(), testSplit.length, goldSplit.length);
Assert.assertTrue(lines.toString(), testSplit.length == 2 || testSplit.length == 3);
Assert.assertEquals(lines.toString(), testSplit[1], goldSplit[1]);
Assert.assertEquals(lines.toString(), Double.parseDouble(testSplit[0]), Double.parseDouble(goldSplit[0]), 1e-3);
if (testSplit.length == 3) {
Assert.assertEquals(lines.toString(), Double.parseDouble(testSplit[2]), Double.parseDouble(goldSplit[2]), 1e-3);
}
} else {
Assert.assertEquals(testLine, goldLine);
}
}
}