Esempio n. 1
0
        public void Add( List<Namespace> namespaces, IDocumentationMember association )
        {
            try
            {
                if( association.TargetType.Namespace != null )
                {
                    //throw new NullReferenceException(
                    //    string.Format("There was no namespace found for {0}",
                    //                  association.TargetType.AssemblyQualifiedName));

                    var ns = Identifier.FromNamespace( association.TargetType.Namespace );

                    if( !namespaces.Exists( x => x.IsIdentifiedBy( ns ) ) )
                    {
                        var doc = Namespace.Unresolved( ns );
                        matchedAssociations.Add( association.Name.CloneAsNamespace(), doc );
                        namespaces.Add( doc );
                    }
                }

            }
            catch( Exception )
            {
            }
        }
Esempio n. 2
0
        protected void ParseReturns(IDocumentationMember member, Method doc)
        {
            if (member.Xml == null) return;
            XmlNode node = member.Xml.SelectSingleNode("returns");
            if (node == null) return;

            doc.Returns = new Summary(_commentParser.ParseNode(node));
        }
Esempio n. 3
0
        protected void ParseRemarks(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;
            XmlNode node = member.Xml.SelectSingleNode("remarks");
            if (node == null) return;

            doc.Remarks = new Remarks(_commentParser.ParseNode(node));
        }
Esempio n. 4
0
        protected void ParseParamSummary(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;

            var node = member.Xml.SelectSingleNode("param[@name='" + doc.Name + "']");

            ParseSummary(node, doc);
        }
Esempio n. 5
0
        protected void ParseParamSummary(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;
            XmlNode node = member.Xml.SelectSingleNode("param[@name='" + doc.Name + "']");
            if (node == null) return;

            doc.Summary = new Summary(_commentParser.ParseNode(node));
        }
Esempio n. 6
0
        protected void ParseExample(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;
            XmlNode node = member.Xml.SelectSingleNode("example");
            if (node == null) return;

            doc.Example = new MultilineCode(_commentParser.ParseNode(node, new ParseOptions {PreserveWhitespace = true}));
        }
Esempio n. 7
0
        protected void ParseSummary(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;

            var node = member.Xml.SelectSingleNode("summary");

            ParseSummary(node, doc);
        }
Esempio n. 8
0
        protected void ParseSummary(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;
            XmlNode node = member.Xml.SelectSingleNode("summary");
            if (node == null) return;

            doc.Summary = new Summary(_commentParser.ParseNode(node));
        }
Esempio n. 9
0
        protected void ParseReturns(IDocumentationMember member, Method doc)
        {
            if (member.Xml == null) return;

            var node = member.Xml.SelectSingleNode("returns");

            if (node != null)
                doc.Returns = new Returns(commentParser.Parse(node));
        }
Esempio n. 10
0
        protected void ParseValue(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null) return;

            var node = member.Xml.SelectSingleNode("value");

            if (node != null)
                doc.Value = new Value(commentParser.Parse(node));
        }
Esempio n. 11
0
        public void PrePopulate(List<Namespace> namespaces, IDocumentationMember association)
        {
            if (association is DocumentedType) return;

            var ns = FindNamespace(association, namespaces);
            var type = FindType(ns, association);

            if (type == null)
                Add(namespaces, new DocumentedType(association.Name.CloneAsType(), null, association.TargetType));
        }
Esempio n. 12
0
 protected Namespace FindNamespace( IDocumentationMember association, List<Namespace> namespaces )
 {
     Namespace ns = null;
     try
     {
         var identifier = Identifier.FromNamespace( association.TargetType.Namespace );
         ns = namespaces.Find( x => x.IsIdentifiedBy( identifier ) );
     }
     catch( Exception ) { }
     return ns;
 }
Esempio n. 13
0
        public void Add(List<Namespace> namespaces, IDocumentationMember association)
        {
            var ns = Identifier.FromNamespace(association.TargetType.Namespace);

            if (!namespaces.Exists(x => x.IsIdentifiedBy(ns)))
            {
                var doc = Namespace.Unresolved(ns);
                matchedAssociations.Add(association.Name.CloneAsNamespace(), doc);
                namespaces.Add(doc);
            }
        }
Esempio n. 14
0
 protected DeclaredType FindType( Namespace ns, IDocumentationMember association )
 {
     DeclaredType dt = null;
     try
     {
         var typeName = Identifier.FromType( association.TargetType );
         dt = ns.Types.FirstOrDefault( x => x.IsIdentifiedBy( typeName ) );
     }
     catch( Exception ) { }
     return dt;
 }
Esempio n. 15
0
        public void ShouldRaiseWarningOnUnexpectedKindInReferenceInEvent()
        {
            var ev      = MockRepository.GenerateMock <WarningEvent>();
            var model   = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[] { Event <Second>(@"<member name=""E:Example.Second.AnEvent""><summary><see cref=""G:Whats-a-g"" /></summary></member>", "AnEvent") };

            StubEventAggregator.Stub(x => x.GetEvent <WarningEvent>())
            .Return(ev);

            model.Create(members);

            ev.AssertWasCalled(x => x.Publish("Unsupported documentation member found: 'G:Whats-a-g'"));
        }
Esempio n. 16
0
        public void ShouldHaveExampleForType()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>("<member name=\"T:Example.Second\"><example>\r\n                    void Something()\r\n                    {\r\n                      return;\r\n                    }\r\n                  </example></member>")
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var type       = namespaces.Single().Classes.Single();

            type.Example.ShouldNotBeNull();
            type.Example.ShouldMatchStructure(com => com.InlineText("void Something()\r\n{\r\n  return;\r\n}"));
        }
Esempio n. 17
0
        public void ShouldHavePropertiesInTypes()
        {
            var model   = new DocumentModel(StubParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Property <Second>(@"<member name=""P:Example.Second.SecondProperty"" />", x => x.SecondProperty)
            };
            var namespaces = model.Create(members);

            namespaces[0].Types[0].Properties
            .ShouldContain(x => x.Name == "SecondProperty");
        }
Esempio n. 18
0
        public void ShouldHaveReturnsForMethods()
        {
            var model = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Method<Second>(@"<member name=""M:Example.Second.ReturnType""><returns>Method with return</returns></member>", x => x.ReturnType()),
            };
            var namespaces = model.CombineToTypeHierarchy(members);

            namespaces[0].Types[0].Methods[0].Returns.Children.Count().ShouldEqual(1);
            ((InlineText)namespaces[0].Types[0].Methods[0].Returns.Children.First()).Text.ShouldEqual("Method with return");
        }
Esempio n. 19
0
        protected void ParseExample( IDocumentationMember member, IDocumentationElement doc )
        {
            try
            {
                if( member.Xml == null ) return;

                var node = member.Xml.SelectSingleNode( "example" );

                if( node != null )
                    doc.Example = new MultilineCode( commentParser.ParseNode( node, new ParseOptions { PreserveWhitespace = true } ) );
            }
            catch( Exception ) { }
        }
Esempio n. 20
0
        protected void ParseRemarks( IDocumentationMember member, IDocumentationElement doc )
        {
            try
            {
                if( member.Xml == null ) return;

                var node = member.Xml.SelectSingleNode( "remarks" );

                if( node != null )
                    doc.Remarks = new Remarks( commentParser.ParseNode( node ) );
            }
            catch( Exception ) { }
        }
Esempio n. 21
0
        public void ShouldHaveEventsInTypes()
        {
            var model   = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Event <Second>(@"<member name=""E:Example.Second.AnEvent"" />", "AnEvent"),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var ev         = typeof(Second).GetEvent("AnEvent");

            namespaces[0].Types[0].Events.ShouldContain(x => x.IsIdentifiedBy(IdentifierFor.Event(ev, typeof(Second))));
        }
Esempio n. 22
0
        public void ShouldHavePropertiesInTypes()
        {
            var model   = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Property <Second>(@"<member name=""P:Example.Second.SecondProperty"" />", x => x.SecondProperty)
            };
            var namespaces = model.CombineToTypeHierarchy(members);

            namespaces[0].Types[0].Properties
            .ShouldContain(x => x.Name == "SecondProperty");
        }
Esempio n. 23
0
        public void ShouldHaveEventsInTypes()
        {
            var model = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
                {
                    Type<Second>(@"<member name=""T:Example.Second"" />"),
                    Event<Second>(@"<member name=""E:Example.Second.AnEvent"" />", "AnEvent"),
                };
            var namespaces = model.CombineToTypeHierarchy(members);
            var ev = typeof (Second).GetEvent("AnEvent");

            namespaces[0].Types[0].Events.ShouldContain(x => x.IsIdentifiedBy(IdentifierFor.Event(ev, typeof(Second))));
        }
Esempio n. 24
0
File: Returns.cs Progetto: wsky/docu
        public void ShouldHaveReturnsForMethods()
        {
            var model   = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Method <Second>(@"<member name=""M:Example.Second.ReturnType""><returns>Method with return</returns></member>", x => x.ReturnType()),
            };
            var namespaces = model.Create(members);

            namespaces[0].Types[0].Methods[0].Returns.Children.Count().ShouldEqual(1);
            ((InlineText)namespaces[0].Types[0].Methods[0].Returns.Children.First()).Text.ShouldEqual("Method with return");
        }
        public void ShouldRaiseWarningOnUnexpectedKindInReferenceInType()
        {
            var events = new EventAggregator();
            var model = new DocumentationModelBuilder(RealParser, events);
            var members = new IDocumentationMember[] {Type<Second>(@"<member name=""T:Example.Second""><summary><see cref=""G:Whats-a-g"" /></summary></member>")};

            string text = string.Empty;
            events.Subscribe(EventType.Warning, x => text = x);

            model.CombineToTypeHierarchy(members);

            Assert.AreEqual("Unsupported documentation member found: 'G:Whats-a-g'", text);
        }
Esempio n. 26
0
        public void ShouldHaveValueForProperty()
        {
            var model = new DocumentModel(RealParser, StubEventAggregator);
            var properties = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Property<Second>(@"<member name=""P:Example.Second.SecondProperty""><value>The string representation.</value></member>", x => x.SecondProperty)
            };
            var namespaces = model.Create(properties);

            namespaces[0].Types[0].Properties[0].Value.Children.Count().ShouldEqual(1);
            ((InlineText)namespaces[0].Types[0].Properties[0].Value.Children.First()).Text.ShouldEqual("The string representation.");
        }
Esempio n. 27
0
        public void ShouldHaveValueForMethod()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var methods = new IDocumentationMember[]
            {
                Type <ReturnMethodClass>(@"<member name=""T:Example.ReturnMethodClass"" />"),
                Method <ReturnMethodClass>(@"<member name=""Example.ReturnMethodClass""><value>A string.</value></member>", x => x.Method())
            };
            IList <Namespace> namespaces = model.CombineToTypeHierarchy(methods);

            namespaces[0].Types[0].Methods[0].Value.Children.Count().ShouldEqual(1);
            ((InlineText)namespaces[0].Types[0].Methods[0].Value.Children.First()).Text.ShouldEqual("A string.");
        }
        public void ShouldRaiseWarningOnUnexpectedKindInReferenceInType()
        {
            var ev = MockRepository.GenerateMock<WarningEvent>();
            var model = new DocumentModel(new CommentParser(), StubEventAggregator);
            var members = new IDocumentationMember[] { Type<Second>(@"<member name=""T:Example.Second""><summary><see cref=""G:Whats-a-g"" /></summary></member>") };

            StubEventAggregator.Stub(x => x.GetEvent<WarningEvent>())
                .Return(ev);

            model.Create(members);

            ev.AssertWasCalled(x => x.Publish("Unsupported documentation member found: 'G:Whats-a-g'"));
        }
Esempio n. 29
0
        public void ShouldHaveValueForMethod()
        {
            var model = new DocumentModel(RealParser, StubEventAggregator);
            var methods = new IDocumentationMember[]
            {
                Type<ReturnMethodClass>(@"<member name=""T:Example.ReturnMethodClass"" />"),
                Method<ReturnMethodClass>(@"<member name=""Example.ReturnMethodClass""><value>A string.</value></member>", x => x.Method())
            };
            var namespaces = model.Create(methods);

            namespaces[0].Types[0].Methods[0].Value.Children.Count().ShouldEqual(1);
            ((InlineText)namespaces[0].Types[0].Methods[0].Value.Children.First()).Text.ShouldEqual("A string.");
        }
Esempio n. 30
0
        public void ShouldHaveValueForProperty()
        {
            var model      = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var properties = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Property <Second>(@"<member name=""P:Example.Second.SecondProperty""><value>The string representation.</value></member>", x => x.SecondProperty)
            };
            IList <Namespace> namespaces = model.CombineToTypeHierarchy(properties);

            namespaces[0].Types[0].Properties[0].Value.Children.Count().ShouldEqual(1);
            ((InlineText)namespaces[0].Types[0].Properties[0].Value.Children.First()).Text.ShouldEqual("The string representation.");
        }
Esempio n. 31
0
        public void ShouldHaveEventsInTypes()
        {
            var model = new DocumentModel(StubParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),  
                Event<Second>(@"<member name=""E:Example.Second.AnEvent"" />", "AnEvent"),
            };
            var namespaces = model.Create(members);
            var ev = typeof(Second).GetEvent("AnEvent");

            namespaces[0].Types[0].Events
                .ShouldContain(x => x.IsIdentifiedBy(Identifier.FromEvent(ev, typeof(Second))));
        }
Esempio n. 32
0
        public void ShouldHaveEventsInTypes()
        {
            var model = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Field<Second>(@"<member name=""F:Example.Second.aField"" />", x => x.aField),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var field = Field<Second>(x => x.aField);

            namespaces[0].Types[0].Fields
                .ShouldContain(x => x.IsIdentifiedBy(IdentifierFor.Field(field, typeof(Second))));
        }
Esempio n. 33
0
        public void ShouldHaveReturnTypeInFields()
        {
            var model   = new DocumentModel(StubParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Field <Second>(@"<member name=""F:Example.Second.aField"" />", x => x.aField)
            };
            var namespaces = model.Create(members);
            var field      = namespaces[0].Types[0].Fields[0];

            field.ReturnType.ShouldNotBeNull();
            field.ReturnType.PrettyName.ShouldEqual("string");
        }
Esempio n. 34
0
        public void ShouldHaveSummaryForMethods()
        {
            var model   = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Method <Second>(@"<member name=""M:Example.Second.SecondMethod2(System.String,System.Int32)""><summary>Second method 2</summary></member>", x => x.SecondMethod2(null, 0))
            };
            var namespaces = model.Create(members);
            var comment    = new List <IComment>(namespaces[0].Types[0].Methods[0].Summary.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second method 2");
        }
Esempio n. 35
0
        public void ShouldHaveEventsInTypes()
        {
            var model   = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Field <Second>(@"<member name=""F:Example.Second.aField"" />", x => x.aField),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var field      = Field <Second>(x => x.aField);

            namespaces[0].Types[0].Fields
            .ShouldContain(x => x.IsIdentifiedBy(IdentifierFor.Field(field, typeof(Second))));
        }
Esempio n. 36
0
        public void ShouldHaveEventsInTypes()
        {
            var model   = new DocumentModel(StubParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Event <Second>(@"<member name=""E:Example.Second.AnEvent"" />", "AnEvent"),
            };
            var namespaces = model.Create(members);
            var ev         = typeof(Second).GetEvent("AnEvent");

            namespaces[0].Types[0].Events
            .ShouldContain(x => x.IsIdentifiedBy(Identifier.FromEvent(ev, typeof(Second))));
        }
Esempio n. 37
0
        public void ShouldHaveEventsInTypes()
        {
            var model = new DocumentModel(StubParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),  
                Field<Second>(@"<member name=""F:Example.Second.aField"" />", x => x.aField),
            };
            var namespaces = model.Create(members);
            var field = Field<Second>(x => x.aField);

            namespaces[0].Types[0].Fields
                .ShouldContain(x => x.IsIdentifiedBy(Identifier.FromField(field, typeof(Second))));
        }
Esempio n. 38
0
        public void ShouldHaveExampleForMethod()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Method <Second>("<member name=\"M:Example.Second.SecondMethod2(System.String,System.Int32)\"><example>\r\n                    void Something()\r\n                    {\r\n                      return;\r\n                    }\r\n                  </example></member>", x => x.SecondMethod2(null, 0))
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var method     = namespaces.Single().Classes.Single().Methods.Single();

            method.Example.ShouldNotBeNull();
            method.Example.ShouldMatchStructure(com => com.InlineText("void Something()\r\n{\r\n  return;\r\n}"));
        }
Esempio n. 39
0
        public void ShouldHaveRemarksForMethods()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Method <Second>(@"<member name=""M:Example.Second.SecondMethod2(System.String,System.Int32)""><remarks>Second method 2</remarks></member>", x => x.SecondMethod2(null, 0))
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment    = new List <Comment>(namespaces[0].Types[0].Methods[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second method 2");
        }
Esempio n. 40
0
        public void ShouldHaveRemarksForEvents()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Event <Second>(@"<member name=""E:Example.Second.AnEvent""><remarks>An event</remarks></member>", "AnEvent"),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment    = new List <Comment>(namespaces[0].Types[0].Events[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("An event");
        }
Esempio n. 41
0
        public void ShouldHaveSummaryForEvents()
        {
            var model   = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Event <Second>(@"<member name=""E:Example.Second.AnEvent""><summary>An event</summary></member>", "AnEvent"),
            };
            var namespaces = model.Create(members);
            var comment    = new List <IComment>(namespaces[0].Types[0].Events[0].Summary.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("An event");
        }
        public void ShouldRaiseWarningOnUnexpectedKindInReferenceInType()
        {
            var events  = new EventAggregator();
            var model   = new DocumentationModelBuilder(RealParser, events);
            var members = new IDocumentationMember[] { Type <Second>(@"<member name=""T:Example.Second""><summary><see cref=""G:Whats-a-g"" /></summary></member>") };

            string text = string.Empty;

            events.Subscribe(EventType.Warning, x => text = x);

            model.CombineToTypeHierarchy(members);

            Assert.AreEqual("Unsupported documentation member found: 'G:Whats-a-g'", text);
        }
Esempio n. 43
0
        public void ShouldHaveRemarksForProperties()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Property <Second>(@"<member name=""P:Example.Second.SecondProperty""><remarks>Second property</remarks></member>", x => x.SecondProperty),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment    = new List <Comment>(namespaces[0].Types[0].Properties[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second property");
        }
Esempio n. 44
0
        public void ShouldHaveReturnTypeInProperties()
        {
            var model   = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Property <Second>(@"<member name=""P:Example.Second.SecondProperty"" />", x => x.SecondProperty)
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var property   = namespaces[0].Types[0].Properties[0];

            property.ReturnType.ShouldNotBeNull();
            property.ReturnType.PrettyName.ShouldEqual("string");
        }
Esempio n. 45
0
        public void ShouldHaveReturnTypeInMethods()
        {
            var model   = new DocumentationModelBuilder(StubParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Method <Second>(@"<member name=""M:Example.Second.ReturnType"" />", x => x.ReturnType())
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var method     = namespaces[0].Types[0].Methods[0];

            method.ReturnType.ShouldNotBeNull();
            method.ReturnType.PrettyName.ShouldEqual("string");
        }
Esempio n. 46
0
        public void ShouldHaveSummaryForFields()
        {
            var model   = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Field <Second>(@"<member name=""F:Example.Second.aField""><summary>A field</summary></member>", x => x.aField),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment    = new List <Comment>(namespaces[0].Types[0].Fields[0].Summary.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("A field");
        }
Esempio n. 47
0
        public void ShouldHaveRemarksForFields()
        {
            var model   = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Field <Second>(@"<member name=""F:Example.Second.aField""><remarks>A field</remarks></member>", x => x.aField),
            };
            var namespaces = model.Create(members);
            var comment    = new List <IComment>(namespaces[0].Types[0].Fields[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("A field");
        }
Esempio n. 48
0
        public void ShouldHaveSummaryForFields()
        {
            var model = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Field<Second>(@"<member name=""F:Example.Second.aField""><summary>A field</summary></member>", x => x.aField),
            };
            var namespaces = model.Create(members);
            var comment = new List<IComment>(namespaces[0].Types[0].Fields[0].Summary.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("A field");
        }
Esempio n. 49
0
        public void ShouldHaveSummaryForMethods()
        {
            var model = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Method<Second>(@"<member name=""M:Example.Second.SecondMethod2(System.String,System.Int32)""><summary>Second method 2</summary></member>", x => x.SecondMethod2(null, 0))
            };
            var namespaces = model.Create(members);
            var comment = new List<IComment>(namespaces[0].Types[0].Methods[0].Summary.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second method 2");
        }
Esempio n. 50
0
        public void ShouldHaveRemarksForProperties()
        {
            var model = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Property<Second>(@"<member name=""P:Example.Second.SecondProperty""><remarks>Second property</remarks></member>", x => x.SecondProperty),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment = new List<Comment>(namespaces[0].Types[0].Properties[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second property");
        }
Esempio n. 51
0
File: Fields.cs Progetto: wsky/docu
        public void ShouldHaveEventsInTypes()
        {
            var model   = new DocumentModel(StubParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Field <Second>(@"<member name=""F:Example.Second.aField"" />", x => x.aField),
            };
            var namespaces = model.Create(members);
            var field      = Field <Second>(x => x.aField);

            namespaces[0].Types[0].Fields
            .ShouldContain(x => x.IsIdentifiedBy(Identifier.FromField(field, typeof(Second))));
        }
Esempio n. 52
0
        public void ShouldHaveRemarksForEvents()
        {
            var model = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Event<Second>(@"<member name=""E:Example.Second.AnEvent""><remarks>An event</remarks></member>", "AnEvent"),
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment = new List<Comment>(namespaces[0].Types[0].Events[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("An event");
        }
Esempio n. 53
0
        public void ShouldHaveRemarksForMethods()
        {
            var model = new DocumentationModelBuilder(RealParser, new EventAggregator());
            var members = new IDocumentationMember[]
            {
                Type<Second>(@"<member name=""T:Example.Second"" />"),
                Method<Second>(@"<member name=""M:Example.Second.SecondMethod2(System.String,System.Int32)""><remarks>Second method 2</remarks></member>", x => x.SecondMethod2(null, 0))
            };
            var namespaces = model.CombineToTypeHierarchy(members);
            var comment = new List<Comment>(namespaces[0].Types[0].Methods[0].Remarks.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second method 2");
        }
Esempio n. 54
0
        public void ShouldHaveSummaryForProperties()
        {
            var model   = new DocumentModel(RealParser, StubEventAggregator);
            var members = new IDocumentationMember[]
            {
                Type <Second>(@"<member name=""T:Example.Second"" />"),
                Property <Second>(@"<member name=""P:Example.Second.SecondProperty""><summary>Second property</summary></member>", x => x.SecondProperty),
            };
            var namespaces = model.Create(members);
            var comment    = new List <IComment>(namespaces[0].Types[0].Properties[0].Summary.Children);

            comment.Count.ShouldEqual(1);
            ((InlineText)comment[0]).Text.ShouldEqual("Second property");
        }
Esempio n. 55
0
        protected void ParseRemarks(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null)
            {
                return;
            }

            var node = member.Xml.SelectSingleNode("remarks");

            if (node != null)
            {
                doc.Remarks = new Remarks(commentParser.ParseNode(node));
            }
        }
Esempio n. 56
0
        protected void ParseValue(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null)
            {
                return;
            }

            var node = member.Xml.SelectSingleNode("value");

            if (node != null)
            {
                doc.Value = new Value(commentParser.ParseNode(node));
            }
        }
Esempio n. 57
0
        protected void ParseReturns(IDocumentationMember member, Method doc)
        {
            if (member.Xml == null)
            {
                return;
            }

            var node = member.Xml.SelectSingleNode("returns");

            if (node != null)
            {
                doc.Returns = new Summary(commentParser.ParseNode(node));
            }
        }
Esempio n. 58
0
        protected void ParseSummary(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null)
            {
                return;
            }
            XmlNode node = member.Xml.SelectSingleNode("summary");

            if (node == null)
            {
                return;
            }

            doc.Summary = new Summary(_commentParser.ParseNode(node));
        }
Esempio n. 59
0
        protected void ParseParamSummary(IDocumentationMember member, IDocumentationElement doc)
        {
            if (member.Xml == null)
            {
                return;
            }
            XmlNode node = member.Xml.SelectSingleNode("param[@name='" + doc.Name + "']");

            if (node == null)
            {
                return;
            }

            doc.Summary = new Summary(_commentParser.ParseNode(node));
        }
Esempio n. 60
0
        public void ShouldPassAssocationsToTransformer()
        {
            var model        = MockRepository.GenerateMock <IDocumentModel>();
            var parser       = new AssemblyXmlParser(StubDocXmlMatcher, model, StubDocMembers);
            var assemblies   = new Assembly[0];
            var associations = new IDocumentationMember[0];

            StubDocXmlMatcher.Stub(x => x.DocumentMembers(null, null))
            .IgnoreArguments()
            .Return(associations);

            parser.CreateDocumentModel(assemblies, new[] { "" });

            model.AssertWasCalled(x => x.Create(associations));
        }