1 ! Copyright (C) 2011 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors fry kernel macros math namespaces sequences
4 source-files.errors tools.test tools.test.fuzz
5 tools.test.fuzz.private tools.test.private ;
6 IN: tools.test.fuzz.tests
8 SYMBOL: generator-stack
9 : with-generator-stack ( seq quot -- )
10 [ reverse V{ } like generator-stack ] dip with-variable ; inline
11 : generate-from-stack ( -- n )
12 generator-stack get pop ;
18 [ generate-from-stack ] [ even? ] fuzz-test-failures
19 ] with-generator-stack
22 [ { { -1 } { 1 } { 5 } } ] [
24 [ generate-from-stack ] [ even? ] fuzz-test-failures
25 ] with-generator-stack
29 [ generate-from-stack ] [ even? ] fuzz-test
30 ] with-generator-stack
35 { failures { { -1 } { 1 } { 5 } } }
36 { predicate [ even? ] }
42 [ generate-from-stack ] [ even? ] fuzz-test
43 ] with-generator-stack
45 [ generate-from-stack ] [ even? ] fuzz-test
46 ] with-generator-stack
48 [ length ] [ first error>> ] bi
53 notify-error-observers