public void detectTestCases() { //detect test cases in source sourceTestCaseDetector = new TestCaseDetector(sourceProject, srcMLexeLocation, "source"); sourceTestCaseDetector.AnalyzeTestCases(); sourceTestSummary = new HashSet <TestCaseSummary>(); printTestCasesInProject(sourceProject, "present", sourceTestCaseDetector.AllTestCases); //detect test cases in target targetTestCaseDetector = new TestCaseDetector(targetProject, srcMLexeLocation, "target"); targetTestCaseDetector.AnalyzeTestCases(); targetTestSummary = new HashSet <TestCaseSummary>(); printTestCasesInProject(targetProject, "present", targetTestCaseDetector.AllTestCases); }
public void detectTestCases() { DataController dc = new DataController(); var projects = MiningUtility.GetProjectGroups(); int projectCount = 0, projectsNumber = projects.Count(); string testCaseFileHeader = "project;parent;projectIsFork;testPackage;testClassName;testMethodName;testMethodParameters;testSourceFilePath;testStartingLine;testEndingLine;testStartingColumn;testEndingColumn;uutPackage;uutClassName;uutMethodName;uutMethodParameters;uutSourceFilePath;uutStartingLine;uutEndingLine;uutStartingColumn;uutEndingColumn"; MiningUtility.createFileHeader(testCasesFile, testCaseFileHeader); string classesHeader = "project;parent;projectIsFork;package;className;methodName;methodParameters;SourceFilePath;StartingLine;EndingLine;StartingColumn;EndingColumn"; MiningUtility.createFileHeader(classesAndMethodsFile, classesHeader); //extract clones per ecosystem foreach (ProjectGroup project in projects) { projectCount++; try { string projectFolder = project.ProjectFolder;// "C:\\grouped\\3_android_packages_apps_Contacts\\LineageOS\\android_packages_apps_Contacts"; TestCaseDetector testCaseDetector = new TestCaseDetector(projectFolder, srcMLLocation); testCaseDetector.AnalyzeTestCases(); HashSet <TestCaseID> allTestCases = testCaseDetector.AllTestCases; HashSet <TestCaseSummary> projectTestSummary = null; // new HashSet<TestCaseSummary>(); //projct parent string parent = project.Ecosystem; string projectName = project.Project; bool isFork = projectName != parent; Utilities.analyzeProjectTestCases(projectFolder, allTestCases, dc, srcMLLocation, testCasesFile, classesAndMethodsFile, projectName, parent, isFork); Console.WriteLine($"Ecosystem: {project.Ecosystem}; Project:{projectCount}/{projectsNumber}"); } catch (Exception ex) { Console.WriteLine(ex.Message + "\n" + ex.StackTrace); } } }
private void doDetectProjectTestCases(ConcurrentDictionary <string, HashSet <TestCaseID> > projectTestCases, int projectId, string projectFolder, string parentPath, string ecosystem, string projectName, int count, int legnth, DataController dataController) { TestCaseDetector testCaseDetector = new TestCaseDetector(projectFolder, srcMLLocation); testCaseDetector.AnalyzeTestCases(); HashSet <TestCaseID> allTestCases = testCaseDetector.AllTestCases; foreach (TestCaseID t in allTestCases) { t.ProjectID = projectId; t.ProjectFolder = projectFolder; t.ParentPath = parentPath; t.Ecosystem = ecosystem; t.ProjectName = projectName; dataController.AddTestCase(t); } //projectTestCases.TryAdd(projectFolder, allTestCases); Console.WriteLine($"Ecosystem: {projectName}, number:{count}/{legnth}"); }