diff options
Diffstat (limited to 'subex/main_test.go')
-rw-r--r-- | subex/main_test.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/subex/main_test.go b/subex/main_test.go index 3855dbc..938e5cb 100644 --- a/subex/main_test.go +++ b/subex/main_test.go @@ -58,7 +58,7 @@ func TestSubexMain(t *testing.T) { }, { // Keep only odd numbers between 0 and 10 - subex: `([c5*2+1]|(.>_))*`, + subex: `([0<=n&n<=10&n%2=1]|(.>_))*`, input: []walk.Value { walk.NumberValue(0), walk.NumberValue(1), @@ -82,7 +82,8 @@ func TestSubexMain(t *testing.T) { }, }, { - subex: "r*([pi*2]%a`<a/2`)|([pi*2+1]%b`<b*3+1`)", + // Collatz + subex: "[1]*[n%2=0:n,n/2]|[n%2=1:n,n*3+1]", input: []walk.Value { walk.NumberValue(32), }, @@ -500,7 +501,7 @@ func doCollatzTest(t *testing.T, init int) { } last := init - lexer := NewStringRuneReader("r*([pi*2]%a`<a/2`|[pi*2+1]%b`<b*3+1`)") + lexer := NewStringRuneReader("[1]*([n%2=0:n,n/2]|[n%2=1&n>1:n,n*3+1])") ast := Parse(lexer) transducer := CompileTransducer(ast) |