]> gitweb.factorcode.org Git - factor.git/blob - extra/base32/base32-tests.factor
base16/32/64: adding test cases from RFC 4648.
[factor.git] / extra / base32 / base32-tests.factor
1 ! Copyright (C) 2019 John Benediktsson
2 ! See https://factorcode.org/license.txt for BSD license
3
4 USING: base32 byte-arrays kernel sequences strings tools.test ;
5
6 { t } [ 256 <iota> >byte-array dup >base32 base32> = ] unit-test
7
8 { B{ } } [ f >base32 ] unit-test
9 { B{ } } [ B{ } >base32 ] unit-test
10 { "AA======" } [ "\0" >base32 "" like ] unit-test
11 { "ME======" } [ "a" >base32 "" like ] unit-test
12 { "MFRA====" } [ "ab" >base32 "" like ] unit-test
13 { "MFRGG===" } [ "abc" >base32 "" like ] unit-test
14 { "MFRGGZA=" } [ "abcd" >base32 "" like ] unit-test
15 { "MFRGGZDF" } [ "abcde" >base32 "" like ] unit-test
16
17 { B{ } } [ f base32> ] unit-test
18 { B{ } } [ B{ } base32> ] unit-test
19 { "\0" } [ "AA======" base32> "" like ] unit-test
20 { "a" } [ "ME======" base32> "" like ] unit-test
21 { "ab" } [ "MFRA====" base32> "" like ] unit-test
22 { "abc" } [ "MFRGG===" base32> "" like ] unit-test
23 { "abcd" } [ "MFRGGZA=" base32> "" like ] unit-test
24 { "abcde" } [ "MFRGGZDF" base32> "" like ] unit-test
25
26 { "" } [ "" >base32 >string ] unit-test
27 { "MY======" } [ "f" >base32 >string ] unit-test
28 { "MZXQ====" } [ "fo" >base32 >string ] unit-test
29 { "MZXW6===" } [ "foo" >base32 >string ] unit-test
30 { "MZXW6YQ=" } [ "foob" >base32 >string ] unit-test
31 { "MZXW6YTB" } [ "fooba" >base32 >string ] unit-test
32 { "MZXW6YTBOI======" } [ "foobar" >base32 >string ] unit-test
33
34 { "" } [ "" base32> >string ] unit-test
35 { "f" } [ "MY======" base32> >string ] unit-test
36 { "fo" } [ "MZXQ====" base32> >string ] unit-test
37 { "foo" } [ "MZXW6===" base32> >string ] unit-test
38 { "foob" } [ "MZXW6YQ=" base32> >string ] unit-test
39 { "fooba" } [ "MZXW6YTB" base32> >string ] unit-test
40 { "foobar" } [ "MZXW6YTBOI======" base32> >string ] unit-test