]> gitweb.factorcode.org Git - factor.git/blob - basis/endian/endian-tests.factor
endian: replaces io.binary and io.binary.fast.
[factor.git] / basis / endian / endian-tests.factor
1 ! Copyright (C) 2009 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: classes endian endian.private kernel math namespaces tools.test ;
4
5 { t } [ [ endianness get big-endian = ] with-big-endian ] unit-test
6 { t } [ [ endianness get little-endian = ] with-little-endian ] unit-test
7
8 { 0x0102 } [ B{ 01 02 } 2be> ] unit-test
9 { 0x01020304 } [ B{ 01 02 03 04 } 4be> ] unit-test
10 { 0x0102030405060708 } [ B{ 01 02 03 04 05 06 07 08 } 8be> ] unit-test
11
12 { 0x0102 } [ B{ 02 01 } 2le> ] unit-test
13 { 0x01020304 } [ B{ 04 03 02 01 } 4le> ] unit-test
14 { 0x0102030405060708 } [ B{ 08 07 06 05 04 03 02 01 } 8le> ] unit-test
15
16 { 0x7a2c793b2ff08554 } [
17     B{ 0x54 0x85 0xf0 0x2f 0x3b 0x79 0x2c 0x7a } le>
18 ] unit-test
19
20 { 0x988a259c3433f237 } [
21     B{ 0x37 0xf2 0x33 0x34 0x9c 0x25 0x8a 0x98 } le>
22 ] unit-test
23
24 { 0x03020100 } [ B{ 0 1 2 3 } le> ] unit-test
25 { 0x00010203 } [ B{ 0 1 2 3 } be> ] unit-test
26
27 { 0x332211 } [
28     B{ 0x11 0x22 0x33 } le>
29 ] unit-test
30
31 { 0x04030201 } [ B{ 1 2 3 4 } signed-le> ] unit-test
32 { 0x01020304 } [ B{ 1 2 3 4 } signed-be> ] unit-test
33
34 { -12 } [ B{ 0xf4 0xff 0xff 0xff } signed-le> ] unit-test
35 { -12 } [ B{ 0xff 0xff 0xff 0xf4 } signed-be> ] unit-test
36
37 { B{ 0 0 4 0xd2 } } [ 1234 4 >be ] unit-test
38 { B{ 0 0 0 0 0 0 4 0xd2 } } [ 1234 8 >be ] unit-test
39 { B{ 0xd2 4 0 0 } } [ 1234 4 >le ] unit-test
40 { B{ 0xd2 4 0 0 0 0 0 0 } } [ 1234 8 >le ] unit-test
41
42 { 1234 } [ 1234 4 >be be> ] unit-test
43 { 1234 } [ 1234 4 >le le> ] unit-test
44
45 { fixnum } [ B{ 0 0 0 0 0 0 0 0 0 0 } be> class-of ] unit-test
46