]> gitweb.factorcode.org Git - factor.git/blob - extra/pack/pack-tests.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / pack / pack-tests.factor
1 USING: io io.streams.string kernel namespaces make
2 pack strings tools.test ;
3
4 [ B{ 1 0 2 0 0 3 0 0 0 4 0 0 0 0 0 0 0 5 } ] [
5     { 1 2 3 4 5 }
6     "cstiq" pack-be
7 ] unit-test
8
9 [ { 1 2 3 4 5 } ] [
10     { 1 2 3 4 5 }
11     "cstiq" [ pack-be ] keep unpack-be
12 ] unit-test
13
14 [ B{ 1 2 0 3 0 0 4 0 0 0 5 0 0 0 0 0 0 0 } ] [
15     [
16         { 1 2 3 4 5 } "cstiq" pack-le
17     ] with-scope
18 ] unit-test
19
20 [ { 1 2 3 4 5 } ] [
21     { 1 2 3 4 5 }
22     "cstiq" [ pack-le ] keep unpack-le
23 ] unit-test
24
25 [ { -1 -2 -3 -4 -5 } ] [
26     { -1 -2 -3 -4 -5 }
27     "cstiq" [ pack-le ] keep unpack-le
28 ] unit-test
29
30 [ { -1 -2 -3 -4 -5 3.14 } ] [
31     { -1 -2 -3 -4 -5 3.14 }
32     "cstiqd" [ pack-be ] keep unpack-be
33 ] unit-test
34
35 [ { -1 -2 -3 -4 -5 } ] [
36     { -1 -2 -3 -4 -5 }
37     "cstiq" [ pack-native ] keep unpack-native
38 ] unit-test
39
40 [ 2 ] [
41     [ 2 "int" b, ] B{ } make
42     <string-reader> [ "int" read-native ] with-input-stream
43 ] unit-test
44
45 [ "FRAM" ] [ "FRAM\0" [ read-c-string ] with-string-reader ] unit-test
46 [ f ] [ "" [ read-c-string ] with-string-reader ] unit-test
47 [ 5 ] [ "FRAM\0\u000005\0\0\0\0\0\0\0" [ read-c-string drop read-u64 ] with-string-reader ] unit-test
48