Boo.Lang.Parser.Tests.BooParserTestCase.Docstrings C# (CSharp) Method

Docstrings() private method

private Docstrings ( ) : void
return void
        public void Docstrings()
        {
            /*
            """
            A module can have a docstring.
            """
            namespace Foo.Bar
            """
            And so can the namespace declaration.
            """

            class Person:
            """
            A class can have it.
            With multiple lines.
            """
            _fname as string
            """Fields can have one."""

            def constructor([required] fname as string):
            """
            And so can a method or constructor.
            """
            _fname = fname

            FirstName as string:
            """And why couldn't a property?"""
            get:
            return _fname
            interface ICustomer:
            """an interface."""

            def Initialize()
            """interface method"""

            Name as string:
            """interface property"""
            get

            enum AnEnum:
            """and so can an enum"""
            AnItem
            """and its items"""
            AnotherItem
            */

            Boo.Lang.Compiler.Ast.Module module = ParseTestCase("docstrings_1.boo");
            Assert.AreEqual("A module can have a docstring.", module.Documentation);
            Assert.AreEqual("And so can the namespace declaration.", module.Namespace.Documentation);

            ClassDefinition person = (ClassDefinition)module.Members[0];
            Assert.AreEqual("A class can have it.\nWith multiple lines.", person.Documentation);
            Assert.AreEqual("Fields can have one.", person.Members[0].Documentation);
            Assert.AreEqual("\tAnd so can a method or constructor.\n\t", person.Members[1].Documentation);
            Assert.AreEqual("And why couldn't a property?", person.Members[2].Documentation);

            InterfaceDefinition customer = (InterfaceDefinition)module.Members[1];
            Assert.AreEqual("an interface.", customer.Documentation);

            Assert.AreEqual("interface method", customer.Members[0].Documentation);
            Assert.AreEqual("interface property", customer.Members[1].Documentation);

            EnumDefinition anEnum = (EnumDefinition)module.Members[2];
            Assert.AreEqual("and so can an enum", anEnum.Documentation);
            Assert.AreEqual("and its items", anEnum.Members[0].Documentation);
        }