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);
}