예제 #1
0
        public void Setup()
        {
            _generateClassDocs       = 0;
            _generateInterfaceDocs   = 0;
            _generateMethodDocs      = 0;
            _generateConstructorDocs = 0;
            _generatePropertyDocs    = 0;
            _generateFieldDocs       = 0;
            _generateEnumDocs        = 0;
            _generateStructDocs      = 0;

            _documentationGenerator = Substitute.For <IDocumentationGenerator>();

            _documentationGenerator.When(x =>
                                         x.GenerateClassDocs(Arg.Any <ClassDeclarationSyntax>())).Do(_ => _generateClassDocs++);
            _documentationGenerator.When(x =>
                                         x.GenerateInterfaceDocs(Arg.Any <InterfaceDeclarationSyntax>())).Do(_ => _generateInterfaceDocs++);
            _documentationGenerator.When(x =>
                                         x.GenerateMethodDocs(Arg.Any <MethodDeclarationSyntax>())).Do(_ => _generateMethodDocs++);
            _documentationGenerator.When(x =>
                                         x.GenerateConstructorDocs(Arg.Any <ConstructorDeclarationSyntax>())).Do(_ => _generateConstructorDocs++);
            _documentationGenerator.When(x =>
                                         x.GeneratePropertyDocs(Arg.Any <PropertyDeclarationSyntax>())).Do(_ => _generatePropertyDocs++);
            _documentationGenerator.When(x =>
                                         x.GenerateFieldDocs(Arg.Any <FieldDeclarationSyntax>())).Do(_ => _generateFieldDocs++);
            _documentationGenerator.When(x =>
                                         x.GenerateEnumDocs(Arg.Any <EnumDeclarationSyntax>())).Do(_ => _generateEnumDocs++);
            _documentationGenerator.When(x =>
                                         x.GenerateStructDocs(Arg.Any <StructDeclarationSyntax>())).Do(_ => _generateStructDocs++);

            _xmlDocCreator = new XmlDocCreator(_documentationGenerator);

            _xmlDocCreator.CreateDocLines(1, "class Test {}");
            _xmlDocCreator.CreateDocLines(1, "interface ITest {}");
            _xmlDocCreator.CreateDocLines(3,
                                          @"class Test
{
    public int Method() { }
}");
            _xmlDocCreator.CreateDocLines(3,
                                          @"class Test
{
    public Test() { }
}");
            _xmlDocCreator.CreateDocLines(1, "public int Test {get;set;}");
            _xmlDocCreator.CreateDocLines(1, "public int Test;");
            _xmlDocCreator.CreateDocLines(1, "public enum Test");
            _xmlDocCreator.CreateDocLines(1, "public struct Test {}");
        }