Beispiel #1
0
        private static bool OnApiReferenceCommand(ILogger logger, ApiReferenceOptions opts)
        {
            var configurationProvider = GetConfigurationProvider(opts);
            var command = new ApiReferenceCommand(logger, configurationProvider.GetApiReferenceConfiguration());

            return(command.Execute());
        }
Beispiel #2
0
        public override bool Execute()
        {
            if (!ValidateParameters())
            {
                return(false);
            }

            var configuration = GetConfigurationProvider().GetApiReferenceConfiguration();
            var command       = new ApiReferenceCommand(Logger, configuration);
            var success       = command.Execute();

            return(success && (Log.HasLoggedErrors == false));
        }
Beispiel #3
0
        public void Execute_returns_false_if_AssemblyPaths_is_invalid(string assemblyPath)
        {
            // ARRANGE
            var configuration = new ApiReferenceConfiguration()
            {
                AssemblyPaths = new[] { assemblyPath },
                OutputPath    = "./some-output-path"
            };

            var sut = new ApiReferenceCommand(m_Logger, configuration);

            // ACT
            var success = sut.Execute();

            // ASSERT
            Assert.False(success);
        }
Beispiel #4
0
        public void Execute_returns_false_if_OutputPath_is_invalid(string outputPath)
        {
            // ARRANGE
            using var temporaryDirectory = new TemporaryDirectory();
            var assemblyPath = Path.Combine(temporaryDirectory, "myAssembly.dll");

            File.WriteAllText(assemblyPath, "");

            var configuration = new ApiReferenceConfiguration()
            {
                AssemblyPaths = new[] { assemblyPath },
                OutputPath    = outputPath
            };

            var sut = new ApiReferenceCommand(m_Logger, configuration);

            // ACT
            var success = sut.Execute();

            // ASSERT
            Assert.False(success);
        }
Beispiel #5
0
        public void Execute_generates_apireference_output()
        {
            // ARRANGE
            using var temporaryDirectory = new TemporaryDirectory();

            var assemblyPath         = Path.Combine(temporaryDirectory, $"myAssembly.dll");
            var xmlDocumentationPath = Path.ChangeExtension(assemblyPath, ".xml");
            var outputPath           = Path.Combine(temporaryDirectory, "output");

            CompileToFile(@"
                namespace MyNamespace
                {
                    public class Class1
                    {                   
                        public string Option1 { get; set; }
                    }
                }
            ", assemblyPath, xmlDocumentationPath);

            var configuration = new ApiReferenceConfiguration()
            {
                AssemblyPaths = new[] { assemblyPath },
                OutputPath    = outputPath
            };

            var sut = new ApiReferenceCommand(m_Logger, configuration);

            // ACT
            var success = sut.Execute();

            // ASSERT
            Assert.True(success);
            Assert.True(Directory.Exists(outputPath));
            Assert.True(File.Exists(Path.Combine(outputPath, @"MyNamespace\index.md")));
            Assert.True(File.Exists(Path.Combine(outputPath, @"MyNamespace\Class1\index.md")));
            Assert.True(File.Exists(Path.Combine(outputPath, @"MyNamespace\Class1\constructors\index.md")));
            Assert.True(File.Exists(Path.Combine(outputPath, @"MyNamespace\Class1\properties\Option1.md")));
        }