public void ParseTest() { var detector = new SingleAndMultiLineModifiedBlockDetector("修正行", "▼", "▲"); var reader = new TextFileReaderImpl(); var parser = new ModificationParser(detector); var m = parser.Parse(reader.Read("modification.cpp")); Assert.IsTrue(m.RangeList.Count == 4); Assert.IsTrue(m.RangeList.Any(x => x.Begin == 6 & x.End == 8)); Assert.IsTrue(m.RangeList.Any(x => x.Begin == 11 & x.End == 41)); Assert.IsTrue(m.RangeList.Any(x => x.Begin == 51 & x.End == 51)); Assert.IsTrue(m.RangeList.Any(x => x.Begin == 54 & x.End == 54)); }
public void Execute() { var service = new ParseSourceCodeService( new TextFileReaderImpl(), output, new ParserFactoryImpl()); if (!System.IO.Directory.Exists(directoryPath)) { throw new Exception("not found directory."); } var paths = System.IO.Directory.GetFiles(directoryPath, "*", System.IO.SearchOption.AllDirectories); IModifiedBlockDetector detector = null; if (keyword != null) { detector = new SingleAndMultiLineModifiedBlockDetector(keyword, "▼", "▲"); } service.OutputFunctions(paths, detector); }