private static void VerifyMeasureAndLocalize( string testTargetNames, string inDirPath, string expDirPath, DirectoryInfo outDir) { var ret = Inserter.Run( new[] { "-r", outDir.FullName, "-t", outDir.GetDirectory("test").FullName, }); Assert.That(ret, Is.True); // jarとdllファイルが存在するか var jar = outDir.GetFile("CoverageWriter.jar"); Assert.That(jar.Exists, Is.True); var covInfoFile = outDir.GetFile(OccfNames.CoverageInfo); var testInfoFile = outDir.GetFile(OccfNames.TestInfo); var recordFile = outDir.GetFile(OccfNames.Record); var resultFile = outDir.GetFile("testresult.txt"); var targets = Directory.EnumerateFiles( expDirPath, "*.java", SearchOption.AllDirectories) .Concat( Directory.EnumerateFiles( expDirPath, OccfNames.BackupSuffix, SearchOption.AllDirectories)) .Concat(new[] { covInfoFile.FullName, testInfoFile.FullName }); foreach (var target in targets) { AssertEqualFiles(target, expDirPath, inDirPath); } Compile(outDir.FullName); RunTest(outDir.FullName, testTargetNames); var covInfo = CoverageInfo.Read(covInfoFile); var testInfo = TestInfo.Read(testInfoFile); testInfo.InitializeForStoringData(true); BugLocalizer.ReadJUnitResult(resultFile, testInfo); CoverageDataReader.ReadFile(testInfo, recordFile); var localizeStatements = BugLocalizer.LocalizeStatements(covInfo, testInfo, "metrics/BugLocalization.py"); Assert.That(localizeStatements, Is.Not.Null); }