package cyrille.lang;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
public class TextParserTest extends TestCase {
public void testParseText() throws Exception {
InputStream in = getClass().getResourceAsStream("textParser.txt");
assertNotNull("in", in);
List<String> lines = IOUtils.readLines(in);
Map<String, List<String>> linesByUid = new HashMap<String, List<String>>();
for (String line : lines) {
String uuid = StringUtils.substringBetween(line, "[uuid=", ",");
List<String> linesWithSameId = linesByUid.get(uuid);
if (linesWithSameId == null) {
linesWithSameId = new ArrayList<String>();
linesByUid.put(uuid, linesWithSameId);
}
linesWithSameId.add(line);
}
for (String uuid : linesByUid.keySet()) {
List<String> linesWithSameId = linesByUid.get(uuid);
if(linesWithSameId.size() > 1) {
System.err.println("Duplicate lines with uuid " + uuid);
for (String line : linesWithSameId) {
System.err.println("\t" + line);
}
}
}
}
}