public void InvalidInput() { var t_Rule = new CreateExpressionRule( _CreateAddressParseRule(), _ConstAddressCreator()); var t_Expression = t_Rule.Match(CreateState(new Token(TokenType.Keyword, "Foo"))); t_Expression.HasError().Should().BeTrue(); }
public void UnmatchedCreationFunction() { var t_Rule = new CreateExpressionRule( _CreateAddressParseRule(), _ConstAddressCreator()); var t_State = t_Rule.Match(_CreateRelativeAddress()); t_State.HasError().Should().BeTrue(); }
public void CreateConstAddressExpression() { var t_Rule = new CreateExpressionRule( _CreateAddressParseRule(), _ConstAddressCreator()); var t_Expression = t_Rule.Match(_CreateConstAddressState()); t_Expression.HasError().Should().BeFalse(); var t_Expressions = t_Expression.Value.Expressions.ToList(); t_Expressions[0].Should().BeOfType <ConstAddressExpression>(); t_Expressions[0].ToType <ConstAddressExpression>() .Literal.Literal.Text.Should().Be("200"); }
public void CreateVariantAddressExpression() { var t_Rule = new CreateExpressionRule( _CreateAddressParseRule(), _CreateCreators()); var t_Expression = t_Rule.Match(_CreateConstAddressState()); t_Expression.HasError().Should().BeFalse(); t_Expression.Value.Expressions.Should().AllBeOfType <ConstAddressExpression>(); t_Expression.Value.Expressions.Should() .Contain(E => E.ToType <ConstAddressExpression>().Literal.Literal.Text == "200"); t_Expression = t_Rule.Match(_CreateRelativeAddress()); t_Expression.HasError().Should().BeFalse(); t_Expression.Value.Expressions.Should().AllBeOfType <RelativeAddressExpression>(); var t_Relative = t_Expression.Value.Expressions.First().ToType <RelativeAddressExpression>(); t_Relative.Identifier.Identifier.Text.Should().Be("RAM"); t_Relative.Operator.Operator.Text.Should().Be("+"); t_Relative.Literal.Literal.Text.Should().Be("4"); }