private static void VerifyMeasureAndLocalize(
            string inDirPath, string expDirPath,
            DirectoryInfo outDir, string outDirPath)
        {
            var profile = LanguageSupports.GetCoverageModeByClassName("C");

            Inserter.InsertMeasurementCode(outDir, new Collection <FileInfo>(), null, outDir, profile, RecordingMode.TextFile);

            // .cと.hファイルが存在するか
            Assert.That(
                File.Exists(Path.Combine(outDirPath, "covman.c")),
                Is.True);
            Assert.That(
                File.Exists(Path.Combine(outDirPath, "covman.h")),
                Is.True);

            var covinfo  = Path.Combine(outDirPath, OccfNames.CoverageInfo);
            var testinfo = Path.Combine(outDirPath, OccfNames.TestInfo);

            var targets = Directory.EnumerateFiles(
                expDirPath, "*.c",
                SearchOption.AllDirectories)
                          .Concat(
                Directory.EnumerateFiles(
                    expDirPath, OccfNames.BackupSuffix,
                    SearchOption.AllDirectories))
                          .Concat(new[] { covinfo, testinfo });

            foreach (var target in targets)
            {
                AssertEqualFiles(target, expDirPath, inDirPath);
            }

            Compile(outDirPath);
            RunTest(outDirPath);

            var ret = BugLocalizer.Run(
                new[] {
                outDirPath,
                Path.Combine(outDirPath, "testresult.txt")
            });

            Assert.That(ret, Is.True);
        }