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

TestForStmt1() private method

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

            ForStatement fs = (ForStatement)module.Globals.Statements[0];
            Assert.AreEqual(1, fs.Declarations.Count);

            Declaration d = fs.Declarations[0];
            Assert.AreEqual("i", d.Name);
            Assert.IsNull(d.Type);

            ListLiteralExpression lle = (ListLiteralExpression)fs.Iterator;
            Assert.AreEqual(3, lle.Items.Count);
            for (int i=0; i<3; ++i)
            {
                Assert.AreEqual(i+1, ((IntegerLiteralExpression)lle.Items[i]).Value);
            }

            Assert.AreEqual(1, fs.Block.Statements.Count);
            Assert.AreEqual("print", ((ReferenceExpression)((MethodInvocationExpression)((ExpressionStatement)fs.Block.Statements[0]).Expression).Target).Name);
        }