35 lines
1008 B
Factor
Executable File
35 lines
1008 B
Factor
Executable File
USING: descriptive kernel math tools.test continuations prettyprint io.streams.string see
|
|
math.ratios ;
|
|
IN: descriptive.tests
|
|
|
|
DESCRIPTIVE: divide ( num denom -- fraction ) / ;
|
|
|
|
[ 3 ] [ 9 3 divide ] unit-test
|
|
|
|
[
|
|
T{ descriptive-error f
|
|
{ { "num" 3 } { "denom" 0 } }
|
|
T{ division-by-zero f 3 }
|
|
divide
|
|
}
|
|
] [
|
|
[ 3 0 divide ] [ ] recover
|
|
] unit-test
|
|
|
|
[ "USING: descriptive math ;\nIN: descriptive.tests\nDESCRIPTIVE: divide ( num denom -- fraction ) / ;\n" ]
|
|
[ \ divide [ see ] with-string-writer ] unit-test
|
|
|
|
DESCRIPTIVE:: divide* ( num denom -- fraction ) num denom / ;
|
|
|
|
[ 3 ] [ 9 3 divide* ] unit-test
|
|
|
|
[
|
|
T{ descriptive-error f
|
|
{ { "num" 3 } { "denom" 0 } }
|
|
T{ division-by-zero f 3 }
|
|
divide*
|
|
}
|
|
] [ [ 3 0 divide* ] [ ] recover ] unit-test
|
|
|
|
[ "USING: descriptive math ;\nIN: descriptive.tests\nDESCRIPTIVE:: divide* ( num denom -- fraction ) num denom / ;\n" ] [ \ divide* [ see ] with-string-writer ] unit-test
|