]> gitweb.factorcode.org Git - factor.git/blob - core/classes/predicate/predicate-tests.factor
Update documentation for stricter vocabulary search path semantics
[factor.git] / core / classes / predicate / predicate-tests.factor
1 USING: math tools.test classes.algebra words kernel sequences assocs
2 accessors eval definitions compiler.units generic ;
3 IN: classes.predicate.tests
4
5 PREDICATE: negative < integer 0 < ;
6 PREDICATE: positive < integer 0 > ;
7
8 [ t ] [ negative integer class< ] unit-test
9 [ t ] [ positive integer class< ] unit-test
10 [ f ] [ integer negative class< ] unit-test
11 [ f ] [ integer positive class< ] unit-test
12 [ f ] [ negative negative class< ] unit-test
13 [ f ] [ positive negative class< ] unit-test
14
15 GENERIC: abs ( n -- n )
16 M: integer abs ;
17 M: negative abs -1 * ;
18 M: positive abs ;
19
20 [ 10 ] [ -10 abs ] unit-test
21 [ 10 ] [ 10 abs ] unit-test
22 [ 0 ] [ 0 abs ] unit-test
23
24 ! Bug report from Bruno Deferrari
25 TUPLE: tuple-a slot ;
26 TUPLE: tuple-b < tuple-a ;
27
28 PREDICATE: tuple-c < tuple-b slot>> ;
29
30 GENERIC: ptest ( tuple -- )
31 M: tuple-a ptest drop ;
32 M: tuple-c ptest drop ;
33
34 [ ] [ tuple-b new ptest ] unit-test