]> gitweb.factorcode.org Git - factor.git/blob - extra/typed/typed-tests.factor
merge project-euler.factor
[factor.git] / extra / typed / typed-tests.factor
1 USING: kernel layouts math quotations tools.test typed ;
2 IN: typed.tests
3
4 TYPED: f+ ( a: float b: float -- c: float )
5     + ;
6
7 [ 3.5 ]
8 [ 2 1+1/2 f+ ] unit-test
9
10 TYPED: fix+ ( a: fixnum b: fixnum -- c: fixnum )
11     + ;
12
13 most-positive-fixnum neg 1 - 1quotation
14 [ most-positive-fixnum 1 fix+ ] unit-test
15
16 TUPLE: tweedle-dee ;
17 TUPLE: tweedle-dum ;
18
19 TYPED: dee ( x: tweedle-dee -- y )
20     drop \ tweedle-dee ;
21
22 TYPED: dum ( x: tweedle-dum -- y )
23     drop \ tweedle-dum ;
24
25 [ \ tweedle-dum new dee ] [ input-mismatch-error? ] must-fail-with
26 [ \ tweedle-dee new dum ] [ input-mismatch-error? ] must-fail-with
27
28
29 TYPED: dumdum ( x -- y: tweedle-dum )
30     drop \ tweedle-dee new ;
31
32 [ f dumdum ] [ output-mismatch-error? ] must-fail-with
33
34 TYPED:: f+locals ( a: float b: float -- c: float )
35     a b + ;
36
37 [ 3.5 ] [ 2 1+1/2 f+locals ] unit-test