1pub mod codec;
2pub mod algorithms;
3pub mod buffer;
4pub mod errors;
5pub mod io;
6
7pub(crate) const BYTE_SIZE_U16: usize = size_of::<u16>();
8pub(crate) const BYTE_SIZE_U32: usize = size_of::<u32>();
9pub(crate) const BYTE_SIZE_U128: usize = size_of::<u128>();
10pub(crate) const BIT_SIZE_U16: usize = BYTE_SIZE_U16 << 3;
11pub(crate) const BIT_SIZE_U32: usize = BYTE_SIZE_U32 << 3;
12
13#[cfg(test)]
14mod tests {
15 use crate::algorithms::chameleon::chameleon::Chameleon;
16 use crate::algorithms::cheetah::cheetah::Cheetah;
17 use crate::algorithms::lion::lion::Lion;
18
19 const TEST_DATA: &str = "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttestt";
20
21 #[test]
22 fn chameleon() {
23 let mut out_mem = vec![0; TEST_DATA.len()];
24
25 match Chameleon::encode(TEST_DATA.as_bytes(), &mut out_mem) {
27 Ok(size) => {
28 assert_eq!(&out_mem[0..size], [0xfe, 0xff, 0xff, 0x7f, 0, 0, 0, 0, 116, 101, 115, 116, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 112, 251, 116]);
29
30 let mut dec_mem = vec![0; TEST_DATA.len()];
32 match Chameleon::decode(&out_mem[0..size], &mut dec_mem) {
33 Ok(size) => {
34 assert_eq!(&dec_mem[0..size], TEST_DATA.as_bytes());
35 }
36 Err(_) => { assert!(false); }
37 }
38 }
39 Err(_) => { assert!(false); }
40 }
41 }
42
43 #[test]
44 fn cheetah() {
45 let mut out_mem = vec![0; TEST_DATA.len()];
46
47 match Cheetah::encode(TEST_DATA.as_bytes(), &mut out_mem) {
49 Ok(size) => {
50 assert_eq!(&out_mem[0..size], [244, 255, 255, 255, 255, 255, 255, 63, 116, 101, 115, 116, 112, 251, 116]);
51
52 let mut dec_mem = vec![0; TEST_DATA.len()];
54 match Cheetah::decode(&out_mem[0..size], &mut dec_mem) {
55 Ok(size) => {
56 assert_eq!(&dec_mem[0..size], TEST_DATA.as_bytes());
57 }
58 Err(_) => { assert!(false); }
59 }
60 }
61 Err(_) => { assert!(false); }
62 }
63 }
64
65 #[test]
66 fn lion() {
67 let mut out_mem = vec![0; TEST_DATA.len()];
68
69 match Lion::encode(TEST_DATA.as_bytes(), &mut out_mem) {
71 Ok(size) => {
72 assert_eq!(&out_mem[0..size], [112, 146, 36, 73, 146, 36, 116, 101, 115, 116, 112, 251, 73, 146, 36, 73, 146, 4, 116]);
73
74 let mut dec_mem = vec![0; TEST_DATA.len()];
76 match Lion::decode(&out_mem[0..size], &mut dec_mem) {
77 Ok(size) => {
78 assert_eq!(&dec_mem[0..size], TEST_DATA.as_bytes());
79 }
80 Err(_) => { assert!(false); }
81 }
82 }
83 Err(_) => { assert!(false); }
84 }
85 }
86}
87