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

TestSimpleClassFields() private method

private TestSimpleClassFields ( ) : void
return void
        public void TestSimpleClassFields()
        {
            Boo.Lang.Compiler.Ast.Module module = ParseTestCase("simple_class_fields.boo");

            Assert.AreEqual(1, module.Members.Count);
            ClassDefinition cd = (ClassDefinition)module.Members[0];

            Assert.AreEqual(3, cd.Members.Count, "Members");

            Field f = (Field)cd.Members[0];
            Assert.AreEqual("_name", f.Name);
            Assert.IsNotNull(f.Type, "Field.Type");
            Assert.AreEqual("string", ((SimpleTypeReference)f.Type).Name);

            Constructor c = (Constructor)cd.Members[1];
            Assert.AreEqual("constructor", c.Name);
            Assert.IsNull(c.ReturnType);
            Assert.AreEqual(1, c.Parameters.Count, "Parameters.Count");
            Assert.AreEqual("name", c.Parameters[0].Name);
            Assert.AreEqual("string", ((SimpleTypeReference)c.Parameters[0].Type).Name);

            Method m = (Method)cd.Members[2];
            Assert.AreEqual("getName", m.Name);
            Assert.IsNull(m.ReturnType);
            Assert.AreEqual(0, m.Parameters.Count);
            Assert.IsNotNull(m.Body, "Body");
            Assert.AreEqual(1, m.Body.Statements.Count);

            ReturnStatement rs = (ReturnStatement)m.Body.Statements[0];
            ReferenceExpression i = (ReferenceExpression)rs.Expression;
            Assert.AreEqual("_name", i.Name);
        }