public void Match() { // Given var expression = new CaptureExpression("foo", new TextExpression("x")); // When var context = new ExpressionContext("x"); var result = expression.Run(context).FirstOrDefault(); // Then Assert.Equal("x", result?.Input); Assert.Equal("x", result?.Output); Assert.Collection(context.CaptureTree.Root.Children, item => { Assert.Equal("foo", item.Name); Assert.NotNull(item.Value); Assert.Equal("x", item.Value !.Input); Assert.Equal("x", item.Value !.Output); Assert.Empty(item.Children); }
public override bool Apply(CaptureExpression expression, NormalizedCharSet param) { Invoke(expression.Sub, param); return(false); }