public void RunFixtureWithProcessReturningError()
        {
            var fixture = new VsMetricsRunnerFixture();

            fixture.GivenProcessExitsWithCode(1);

            fixture.Run();
        }
        public void RunFixtureWithNoOutputFilePath()
        {
            var fixture = new VsMetricsRunnerFixture()
            {
                OutputFilePath = null
            };

            fixture.Run();
        }
        public void RunFixtureWithNoInputFilePaths()
        {
            var fixture = new VsMetricsRunnerFixture()
            {
                InputFilePaths = null
            };

            fixture.Run();
        }
        public void RunFixtureWithAlternativePathWindowsNotSupported()
        {
            var fixture = new VsMetricsRunnerFixture(false)
            {
                Settings = { ToolVersion = (VsMetricsToolVersion)1000 }
            };

            fixture.Environment.SetSpecialPath(SpecialPath.ProgramFilesX86, "/ProgramFilesX86");

            fixture.Run();
        }
        public void RunFixtureWithSettings()
        {
            var fixture = new VsMetricsRunnerFixture()
            {
                Settings = { SearchGac = true, AssemblyDirectories = new DirectoryPath[] { "." } }
            };

            var result = fixture.Run();

            Assert.AreEqual("/f:\"c:/tool.exe\" /o:\"/Working/metrics_result.xml\" /d:\"/Working\" /gac", result.Args);
        }
        public void RunFixtureWithNoSettings()
        {
            var fixture = new VsMetricsRunnerFixture()
            {
                Settings = null
            };

            fixture.Run();

            // We expect this to not throw any exception
        }
        private void AssertAlternativePath(VsMetricsToolVersion version, string expectedPath)
        {
            var fixture = new VsMetricsRunnerFixture(false)
            {
                Settings = { ToolVersion = version }
            };

            fixture.FileSystem.CreateFile(expectedPath);
            fixture.Environment.SetSpecialPath(SpecialPath.ProgramFilesX86, "/ProgramFilesX86");

            var result = fixture.Run();

            Assert.AreEqual(expectedPath, result.Path.FullPath);
        }
        public void RunFixtureWithAlternativePathLinuxNotSupported()
        {
            var fixture = new VsMetricsRunnerFixture(false, PlatformFamily.Linux);

            fixture.Run();
        }