]> gitweb.factorcode.org Git - factor.git/blob - basis/alien/data/data-tests.factor
20a6c26b84caadaba2be2406a773644d68772352
[factor.git] / basis / alien / data / data-tests.factor
1 USING: alien alien.c-types alien.data alien.syntax
2 classes.struct kernel sequences specialized-arrays
3 specialized-arrays.private tools.test compiler.units vocabs ;
4 IN: alien.data.tests
5
6 STRUCT: foo { a int } { b void* } { c bool } ;
7
8 SPECIALIZED-ARRAY: foo
9
10 [ t ] [ 0 binary-zero? ] unit-test
11 [ f ] [ 1 binary-zero? ] unit-test
12 [ f ] [ -1 binary-zero? ] unit-test
13 [ t ] [ 0.0 binary-zero? ] unit-test
14 [ f ] [ 1.0 binary-zero? ] unit-test
15 [ f ] [ -0.0 binary-zero? ] unit-test
16 [ t ] [ C{ 0.0 0.0 } binary-zero? ] unit-test
17 [ f ] [ C{ 1.0 0.0 } binary-zero? ] unit-test
18 [ f ] [ C{ -0.0 0.0 } binary-zero? ] unit-test
19 [ f ] [ C{ 0.0 1.0 } binary-zero? ] unit-test
20 [ f ] [ C{ 0.0 -0.0 } binary-zero? ] unit-test
21 [ t ] [ f binary-zero? ] unit-test
22 [ t ] [ 0 <alien> binary-zero? ] unit-test
23 [ f ] [ 1 <alien> binary-zero? ] unit-test
24 [ f ] [ B{ } binary-zero? ] unit-test
25 [ t ] [ S{ foo f 0 f f } binary-zero? ] unit-test
26 [ f ] [ S{ foo f 1 f f } binary-zero? ] unit-test
27 [ f ] [ S{ foo f 0 ALIEN: 8 f } binary-zero? ] unit-test
28 [ f ] [ S{ foo f 0 f t } binary-zero? ] unit-test
29 [ t t f ] [
30     foo-array{
31         S{ foo f 0 f f }
32         S{ foo f 0 f f }
33         S{ foo f 1 f f }
34     } [ first binary-zero? ] [ second binary-zero? ] [ third binary-zero? ] tri
35 ] unit-test
36
37 [ ] [
38     [
39         foo specialized-array-vocab forget-vocab
40     ] with-compilation-unit
41 ] unit-test