54 lines
1.4 KiB
Factor
54 lines
1.4 KiB
Factor
! Copyright (C) 2011 Joe Groff.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: accessors fry kernel macros math namespaces sequences
|
|
source-files.errors tools.test tools.test.fuzz
|
|
tools.test.fuzz.private tools.test.private ;
|
|
IN: tools.test.fuzz.tests
|
|
|
|
SYMBOL: generator-stack
|
|
: with-generator-stack ( seq quot -- )
|
|
[ reverse V{ } like generator-stack ] dip with-variable ; inline
|
|
: generate-from-stack ( -- n )
|
|
generator-stack get pop ;
|
|
|
|
6 fuzz-test-trials [
|
|
|
|
[ { } ] [
|
|
{ -4 -2 0 2 4 6 } [
|
|
[ generate-from-stack ] [ even? ] fuzz-test-failures
|
|
] with-generator-stack
|
|
] unit-test
|
|
|
|
[ { { -1 } { 1 } { 5 } } ] [
|
|
{ -4 -1 1 2 5 6 } [
|
|
[ generate-from-stack ] [ even? ] fuzz-test-failures
|
|
] with-generator-stack
|
|
] unit-test
|
|
|
|
{ -4 -2 0 2 4 6 } [
|
|
[ generate-from-stack ] [ even? ] fuzz-test
|
|
] with-generator-stack
|
|
|
|
{
|
|
1
|
|
T{ fuzz-test-failure
|
|
{ failures { { -1 } { 1 } { 5 } } }
|
|
{ predicate [ even? ] }
|
|
{ trials 6 }
|
|
}
|
|
} [
|
|
[
|
|
{ -4 -2 0 2 4 6 } [
|
|
[ generate-from-stack ] [ even? ] fuzz-test
|
|
] with-generator-stack
|
|
{ -4 -1 1 2 5 6 } [
|
|
[ generate-from-stack ] [ even? ] fuzz-test
|
|
] with-generator-stack
|
|
] fake-unit-test
|
|
[ length ] [ first error>> ] bi
|
|
] unit-test
|
|
|
|
] with-variable
|
|
|
|
notify-error-observers
|