source: project/release/5/fx-utils/trunk/tests/fx-utils-test.scm @ 38103

Last change on this file since 38103 was 38103, checked in by Kon Lovett, 10 months ago

canon import style

File size: 1.5 KB
Line 
1;;;; fx-utils-test  -*- Scheme -*-
2;;;; Kon Lovett, Jul '18
3
4(import test)
5
6(test-begin "Fx Utils")
7
8;;;
9
10(import (chicken base))
11(import (chicken fixnum))
12
13;;
14
15(import fx-inlines)
16
17(test-group "Fx Inlines"
18
19  (test-assert (fxzero? 0))
20  (test-assert (not (fxzero? 1)))
21  (test-assert (not (fxzero? most-positive-fixnum)))
22  (test-assert (not (fxzero? most-negative-fixnum)))
23
24  (test-assert (not (fxpositive? 0)))
25  (test-assert (not (fxpositive? most-negative-fixnum)))
26  (test-assert (fxpositive? most-positive-fixnum))
27
28  (test-assert (fxnatural? 0))
29  (test-assert (not (fxnatural? most-negative-fixnum)))
30  (test-assert (fxnatural? most-positive-fixnum))
31
32  (test-assert (not (fxnegative? 0)))
33  (test-assert (fxnegative? most-negative-fixnum))
34  (test-assert (not (fxnegative? most-positive-fixnum)))
35
36        (test 4 (fxadd1 3))
37        (test 2 (fxsub1 3))
38
39        (test 27 (fxcub 3))
40)
41
42;;
43
44(import fx-utils)
45
46(test-group "Fx Utils"
47
48        (test-assert (fixnum? (fxrandom)))
49        (test-assert (fixnum? (fxrandom 2456)))
50
51        (test -1 (fxlog2 0))
52        (test 0 (fxlog2 1))
53        (test 1 (fxlog2 2))
54        (test 1 (fxlog2 3))
55        (test 2 (fxlog2 4))
56
57        (test -1 (fxpow2log2 0))
58        (test 4 (fxpow2log2 3))
59        (test 8 (fxpow2log2 7))
60        (test 16 (fxpow2log2 15))
61        (test 16 (fxpow2log2 16))
62        (test 32 (fxpow2log2 17))
63
64        (test 16 (fxdistance 1 1 5 5))
65
66        (receive (mx mn) (fxmax-and-min 1 -1 -16 13 2 16 7 -8)
67          (test "fxmax-and-min max" 16 mx)
68          (test "fxmax-and-min min" -16 mn) )
69
70        (receive (q m) (fxquo-and-mod 1 2)
71          (test "fxquo-and-mod q" 0 q)
72          (test "fxquo-and-mod m" 1 m) )
73)
74
75;;;
76
77(test-end "Fx Utils")
78
79(test-exit)
Note: See TracBrowser for help on using the repository browser.