public void NonEmpty()
    {
        // Given
        var expression = new PassExpression();

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

        // Then
        Assert.Null(result);
    }
    public void Match()
    {
        // Given
        var expression = new PassExpression();

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

        // Then
        Assert.Equal("", result);
    }
 public override TType[] Interpret(TContext context)
 {
     return(Condition.Interpret(context)
         ? PassExpression.Interpret(context)
         : FailExpression.Interpret(context));
 }