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); }
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); } }