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()); }
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()); }