public void Match()
    {
        // Given
        var expression = new TransformExpression(
            new TextExpression("x"),
            new TextExpression("y"));

        // When
        var result = expression.Transform("x");

        // Then
        Assert.Equal("y", result);
    }
Ejemplo n.º 2
0
    public void OpenCapture()
    {
        // Given
        var expression = new TransformExpression(
            new PassExpression(),
            new CaptureExpression("foo", new BackreferenceExpression("foo"))
            );

        // When
        var result = expression.Transform("");

        // Then
        Assert.Null(result);
    }
    public override IEnumerable <ExpressionResult> RunInternal(ExpressionContext context)
    {
        var capture = GetValue(context);

        if (capture is null)
        {
            yield break;
        }

        // TODO: Should this be rewritten?
        var expression = new TransformExpression(new TextExpression(capture.Input), new TextExpression(capture.Output));

        foreach (var result in expression.Run(context))
        {
            yield return(result);
        }
    }