public void RecognisesLetStatementWithMoreComplexExpression() { classUnderTest.AddToSymbolTable("y", IdentifierKind.Var, null); classUnderTest.AddToSymbolTable("x", IdentifierKind.Field, null); classUnderTest.AddToSymbolTable("finished", IdentifierKind.Field, null); classUnderTest.ParseLetStatement() .ShouldGenerateXml(@" <letStatement> <keyword>let</keyword> <identifier kind='var' isDefinition='false' number='0'>y</identifier> <symbol>[</symbol> <expression> <term> <identifier kind='field' isDefinition='false' number='0'>x</identifier> </term> <symbol>+</symbol> <term> <integerConstant>1</integerConstant> </term> </expression> <symbol>]</symbol> <symbol>=</symbol> <expression> <term> <symbol>~</symbol> <term> <identifier kind='field' isDefinition='false' number='1'>finished</identifier> </term> </term> </expression> <symbol>;</symbol> </letStatement> "); }
public void RecognisesLetStatementWithMoreComplexExpression() { classUnderTest.ParseLetStatement() .ShouldGenerateXml(@" <letStatement> <keyword>let</keyword> <identifier>y</identifier> <symbol>[</symbol> <expression> <term> <identifier>x</identifier> </term> <symbol>+</symbol> <term> <integerConstant>1</integerConstant> </term> </expression> <symbol>]</symbol> <symbol>=</symbol> <expression> <term> <symbol>~</symbol> <term> <identifier>finished</identifier> </term> </term> </expression> <symbol>;</symbol> </letStatement> "); }
public void RecognisesLetStatementWithSimpleExpression() { classUnderTest.ParseLetStatement().ShouldGenerateXml(@" <letStatement> <keyword>let</keyword> <identifier kind='var' isDefinition='false' number='0'>x</identifier> <symbol>=</symbol> <expression> <term> <integerConstant>1234</integerConstant> </term> </expression> <symbol>;</symbol> </letStatement> "); }