]> gitweb.factorcode.org Git - factor.git/blob - basis/models/range/range-tests.factor
Fix permission bits
[factor.git] / basis / models / range / range-tests.factor
1 IN: models.range.tests\r
2 USING: arrays generic kernel math models namespaces sequences assocs\r
3 tools.test models.range ;\r
4 \r
5 ! Test <range> \r
6 : setup-range 0 0 0 255 <range> ;\r
7 \r
8 ! clamp-value should not go past range ends\r
9 [ 0   ] [ -10 setup-range clamp-value ] unit-test\r
10 [ 255 ] [ 2000 setup-range clamp-value ] unit-test\r
11 [ 14  ] [ 14 setup-range clamp-value ] unit-test\r
12 \r
13 ! range min/max/page values should be correct\r
14 [ 0 ] [ setup-range range-page-value ] unit-test\r
15 [ 0 ] [ setup-range range-min-value ] unit-test\r
16 [ 255 ] [ setup-range range-max-value ] unit-test\r
17 \r
18 ! should be able to set the value within the range and get back\r
19 [ 15 ] [ setup-range 15 over set-range-value range-value ] unit-test\r
20 [ 0 ] [ setup-range -15 over set-range-value range-value ] unit-test\r
21 [ 255 ] [ setup-range 4000 over set-range-value range-value ] unit-test\r
22 \r
23 ! should be able to change the range min/max/page value\r
24 [ 1 ] [ setup-range 1 over set-range-page-value range-page-value ] unit-test\r
25 [ 50 ] [ setup-range 50 over set-range-min-value range-min-value ] unit-test\r
26 [ 4000 ] [ setup-range 4000 over set-range-max-value range-max-value ] unit-test\r
27 \r
28 ! should be able to move by positive and negative values\r
29 [ 30 ] [ setup-range 30 over move-by range-value ] unit-test\r
30 [ 0 ] [ setup-range 30 over move-by -30 over move-by range-value ] unit-test\r
31 \r
32 ! should be able to move by a page of 10\r
33 [ 10 ] [ \r
34     setup-range 10 over set-range-page-value \r
35     1 over move-by-page range-value \r
36 ] unit-test\r