public void TestParseArrayIndex() { Tokens tokens = new Tokens(); tokens.AddToken("x"); tokens.AddToken("["); tokens.AddToken("0"); tokens.AddToken("]"); Parser parser = new Parser ( TestModule.GetTestKernel() ); parser.Parse ( tokens ); Variable variable = parser.MainBlock[0] as Variable; Dynamic indexer = variable.Indexer.Evaluate (); Assert.AreEqual(0, indexer.NumberValue, "Indexer should evaluate to 0"); }
static Tokens GetIf() { Tokens tokens = new Tokens(); tokens.AddToken ("if"); tokens.AddToken ("x"); tokens.AddToken ("<"); tokens.AddToken ("10"); tokens.AddToken ("{"); tokens.AddToken ("a"); tokens.AddToken ("}"); return tokens; }
public void TestParseVariableWithArrayIndexExpression() { Tokens tokens = new Tokens(); tokens.AddToken("x"); tokens.AddToken("["); tokens.AddToken("0"); tokens.AddToken("+"); tokens.AddToken("4"); tokens.AddToken("]"); Parser parser = new Parser ( TestModule.GetTestKernel() ); parser.Parse ( tokens ); Assert.AreEqual(1, parser.MainBlock.Count); Assert.IsInstanceOfType ( typeof ( Variable ), parser.MainBlock[0] ); }