示例#1
0
        public void TestNoDoctest()
        {
            using var tmpdir = new TemporaryDirectory();
            DirectoryInfo input  = Directory.CreateDirectory(Path.Join(tmpdir.Path, "SomeProject"));
            DirectoryInfo output = Directory.CreateDirectory(Path.Join(tmpdir.Path, "SomeProject.Test/doctests"));

            string inputPath  = Path.Join(input.FullName, "SomeProgram.cs");
            string outputPath = Path.Join(output.FullName, "DocTestSomeProgram.cs");

            File.WriteAllText(inputPath, "no doctests");

            using var consoleCapture = new ConsoleCapture();

            int exitCode = Program.MainWithCode(new[] { "--input", input.FullName, "--output", output.FullName });

            string nl = Environment.NewLine;

            Assert.AreEqual(0, exitCode);
            Assert.AreEqual(
                $"No doctests found in: {inputPath}; not generating {outputPath}{nl}",
                consoleCapture.Output());
        }
示例#2
0
        public void TestCheckDoesntExist()
        {
            using var tmpdir = new TemporaryDirectory();
            DirectoryInfo input  = Directory.CreateDirectory(Path.Join(tmpdir.Path, "SomeProject"));
            DirectoryInfo output = Directory.CreateDirectory(Path.Join(tmpdir.Path, "SomeProject.Test/doctests"));

            string inputPath  = Path.Join(input.FullName, "SomeProgram.cs");
            string outputPath = Path.Join(output.FullName, "DocTestSomeProgram.cs");

            File.WriteAllText(
                inputPath,
                @"/// <code doctest=""true"">
/// var x = 1;
/// </code>
");

            // Test pre-condition
            Assert.IsFalse(File.Exists(outputPath));

            using var consoleCapture = new ConsoleCapture();

            int exitCode = Program.MainWithCode(
                new[]
            {
                "--input-output", $"{input.FullName}{Path.PathSeparator}{output.FullName}",
                "--check",
                "--verbose"
            });

            string nl = Environment.NewLine;

            Assert.AreEqual(1, exitCode);
            Assert.AreEqual(
                $"Output file does not exist: {inputPath} -> {outputPath}{nl}",
                consoleCapture.Output());
        }