private static Duplicate[] Convert(int lineNumberOfFile, int linesOfCode, CpdOccurance occurance, List <CpdOccurance> copyCats) { return(copyCats.ConvertAll(x => new Duplicate(linesOfCode, x.LineNumber, new Location(x.FileName))) .Where(x => (x.LineNumber != lineNumberOfFile && x.Location.Path == occurance.FileName) || x.Location.Path != occurance.FileName) .ToArray()); }
private static IEnumerable <CpdLineItem> ReadFile(TextReader textReader) { //lines,tokens,occurrences //47,196,2, // 106,C:\Dev\disruptor\src\perftest\java\com\lmax\disruptor\sequenced\ThreeToOneSequencedBatchThroughputTest.java, // 104,C:\Dev\disruptor\src\perftest\java\com\lmax\disruptor\sequenced\ThreeToOneSequencedThroughputTest.java //47,196,4, // 106,C:\Dev\disruptor\src\perftest\java\com\lmax\disruptor\sequenced\ThreeToOneSequencedBatchThroughputTest.java, // 104,C:\Dev\disruptor\src\perftest\java\com\lmax\disruptor\sequenced\ThreeToOneSequencedThroughputTest.java, // 106,C:\Dev\disruptor\src\perftest\java\com\lmax\disruptor\sequenced\ThreeToOneSequencedBatchThroughputTestAA.java, // 104,C:\Dev\disruptor\src\perftest\java\com\lmax\disruptor\sequenced\ThreeToOneSequencedThroughputTestAAA.java var items = new List <CpdLineItem>(); using (textReader) { var csv = new CsvReader(textReader); while (csv.Read()) { var linesOfCode = csv.GetField <int>(0); var occurances = csv.GetField <int>(2); var lineItem = new CpdLineItem { LinesOfCode = linesOfCode }; for (var i = 0; i < occurances; i++) { var index = 3 + i * 2; var cpdOccurance = new CpdOccurance { LineNumber = csv.GetField <int>(index), // 3, 5, 7, etc. FileName = csv.GetField <string>(index + 1) // 4, 6, 8, etc }; lineItem.Occurances.Add(cpdOccurance); } items.Add(lineItem); } } return(items); }