private DuplicateFinder GetMockLanguageDuplicateFinder(IEnumerable <FileContent> fileContents) { var language = new MockLanguage(); var parameters = new DuplicateFindParameters(3, language); return(new DuplicateFinder(fileContents, parameters)); }
private void ExecuteSearchDuplicates(CodeAnalyzerParameters parameters) { if (!Directory.Exists(_workingFolder)) { Directory.CreateDirectory(_workingFolder); } int svnRevision = GetCurrentSvnRevision(parameters.Directory); var language = new CSharpLanguage(); var fileContents = GetFolderContents(parameters.Directory, parameters.SearchFilter, language.PreliminaryProcess); var duplicateFindParameters = new DuplicateFindParameters(6, new CSharpLanguage()); var filesCombiner = new DuplicateFinder(fileContents, duplicateFindParameters); var result = filesCombiner.FindDuplicates(); var folder = Path.Combine(_workingFolder, svnRevision.ToString()); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } if (!CommitsList.Contains(svnRevision.ToString())) { File.AppendAllText(CommitsFileName, svnRevision + "\n"); CommitsList.Add(svnRevision.ToString()); } var reportFileName = Path.Combine(folder, "duplicate.xml"); File.WriteAllText(reportFileName, result.ToXml()); var previousReport = Path.Combine(_workingFolder, GetPreviousSvnRevision().ToString(), "duplicate.xml"); Console.WriteLine("Lines: " + result.Count); CreateHtmlReport(result); }
public void LowerLimitTest() { //given var fileContents = new List <FileContent> { new FileContent("1.txt", new List <string> { "aaa", "bbb", "ccc", "ddd", "eee" }), new FileContent("2.txt", new List <string> { "aaaa", "eeee", "bbb", "ccc", "ddd", "zzzz" }) }; var parameters = new DuplicateFindParameters { NumberOfLinesLowerLimit = 4 }; //when var filesCombiner = new DuplicateFinder(fileContents, parameters); var result = filesCombiner.FindDuplicates(); //then Assert.That(result.Count, Is.EqualTo(0)); }