public void GetFriendlyMethodName()
        {
            var documentation = new Markdown.Document();

            documentation.Append(new Markdown.Header1(nameof(MethodInfo) + "." + nameof(ReflectionExtensions.GetFriendlyMethodName) + "() extension method"))
            .Append(new Markdown.Header2("Definition"))
            .Append(new Markdown.Paragraph($"Namespace: {typeof(ReflectionExtensions).Namespace}<br/>")
                    .Line($"Assembly: {typeof(ReflectionExtensions).Assembly.GetName().Name}.dll"))
            .Append(new Markdown.Paragraph("Returns friendly name of a method."));

            documentation.Append(new Markdown.Header2("Remarks"))
            .Append(new Markdown.Paragraph("This method is intended to be used mainly for testing purposes."));

            documentation.Append(new Markdown.Header2("Examples"))
            .Append(this.GetSampleUsageOfGetFriendlyMethodName())
            .Append(new Markdown.Paragraph("The following example table shows result of method execution on System.String public methods"))
            .Append(this.GenerateExampleTableForGetFriendlyMethodName(typeof(string).GetMethods()))
            .Append(new Markdown.Paragraph("The following example table shows result of method execution on some other methods"))
            .Append(this.GenerateExampleTableForGetFriendlyMethodName(new[] { this.GetType().GetMethod(nameof(GenerateExampleTableForGetFriendlyMethodName)) }))
            ;

            var writer = new MarkdownTextWriter(documentation);

            Approvals.Verify(writer);
        }
        public void GetFriendlyTypeName()
        {
            var documentation = new Markdown.Document();

            documentation.Append(new Markdown.Header1(nameof(Type) + "." + nameof(ReflectionExtensions.GetFriendlyTypeName) + "() extension method"))
            .Append(new Markdown.Header2("Definition"))
            .Append(new Markdown.Paragraph($"Namespace: {typeof(ReflectionExtensions).Namespace}<br/>")
                    .Line($"Assembly: {typeof(ReflectionExtensions).Assembly.GetName().Name}.dll"))
            .Append(new Markdown.Paragraph("Returns friendly name of Type."));

            documentation.Append(new Markdown.Header2("Remarks"))
            .Append(new Markdown.Paragraph("This method is intended to be used mainly for testing purposes."));

            documentation.Append(new Markdown.Header2("Examples"))
            .Append(this.GetSampleUsageOfGetFriendlyTypeName())
            .Append(new Markdown.Paragraph("The following example table shows result of method execution on C# primitive types"))
            .Append(ReflectionExtensionDocumentation.GenerateExampleTable(this.primitiveTypes))
            .Append(new Markdown.Paragraph("The following example table shows result of method execution on nullable types"))
            .Append(ReflectionExtensionDocumentation.GenerateExampleTable(this.primitiveTypesNullable))
            .Append(new Markdown.Paragraph("The following example table shows result of method execution on some more complex types"))
            .Append(ReflectionExtensionDocumentation.GenerateExampleTable(this.complexTypes));

            var writer = new MarkdownTextWriter(documentation);

            Approvals.Verify(writer);
        }
        public void Generate()
        {
            // ARRANGE
            var assembly = typeof(Fail).Assembly;

            // ACT
            var publicApi = ApiDescription.GenerateFor(assembly);

            // ASSERT
            var writer        = new MarkdownTextWriter(publicApi);
            var approvalNamer = new PublicApi.PublicApiGenerator.AssemblyPathNamer(assembly);

            Approvals.Verify(writer, approvalNamer, Approvals.GetReporter());
        }
Esempio n. 4
0
        public void General()
        {
            var documentation = new Markdown.Document();

            documentation.Append(new ClassDocumentation(typeof(Business)));

            documentation.Append(new Markdown.Header2("Examples"))
            .Append(this.Step1GatherRequirements())
            .Append(this.Step2MakeItWorking())
            .Append(this.Step3IntroduceDedicatedException())
            .Append(this.Step4DocumentTheRequirement())
            .Append(this.Step5GenerateDocumentation())
            .Append(this.QuickSamples())
            .Append(this.ValueObjectExample())
            ;

            var writer = new MarkdownTextWriter(documentation);

            Approvals.Verify(writer);
        }
Esempio n. 5
0
 public MarkdownFormatter(TextWriter writer, MarkdownFormatterSettings settings = null)
 {
     this.writer   = new MarkdownTextWriter(writer);
     this.settings = settings ?? MarkdownFormatterSettings.Default;
 }