示例#1
0
    public void Match()
    {
        // Given
        var expression = new FunctionExpression("foo", new TextExpression("bar"));

        // When
        var context = new ExpressionContext("");
        var result  = expression.Run(context).FirstOrDefault();

        // Then
        Assert.Equal("", result?.Input);
        Assert.Equal("", result?.Output);
        Assert.Collection(context.CallStack.Peek().Functions.OrderBy(x => x.Key),
                          item =>
        {
            Assert.Equal("foo", item.Key);
            Assert.IsType <TextExpression>(item.Value);
            Assert.Equal("bar", (item.Value as TextExpression) !.Value);
        }