1mod arrr;
2mod bitify_impl;
3
4pub use bitify_impl::main::bitify_func;
5
6#[cfg(test)]
7mod tests {
8 use super::*;
9
10 #[test]
11 fn test_array() {
12 let x = arrr!([1u8, 2, 3, 4] as [i8; 10]);
13 assert_eq!(x, [1i8, 2, 3, 4, 0, 0, 0, 0, 0, 0]);
14
15 let x = arrr!([1u8, 2, 3, 4] as [i8; 10] or 2);
16 assert_eq!(x, [1i8, 2, 3, 4, 2, 2, 2, 2, 2, 2]);
17
18 let x = arrr!([500u16] as [i8; 10]);
19 assert_eq!(x, [-12, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
20
21 let x = arrr!(['a', 'b', 'c'] as [i8; 10]);
22 assert_eq!(x, [97i8, 98, 99, 0, 0, 0, 0, 0, 0, 0]);
23
24 let x = arrr!([b'a', b'b', b'c'] as [i8; 10]);
25 assert_eq!(x, [97i8, 98, 99, 0, 0, 0, 0, 0, 0, 0]);
26
27 let x = arrr!(["abc", "def"] as [&str; 10] or "");
28 assert_eq!(x, ["abc", "def", "", "", "", "", "", "", "", ""]);
29 }
30
31 #[test]
32 fn test_array_str() {
33 let x = arrr!("abc" as [i8; 10]);
34 assert_eq!(x, [97i8, 98, 99, 0, 0, 0, 0, 0, 0, 0]);
35
36 let x = arrr!(b"abcd" as [i8; 10]);
37 assert_eq!(x, [97i8, 98, 99, 100, 0, 0, 0, 0, 0, 0]);
38
39 let x = arrr!(c"abcde" as [i8; 10]);
40 assert_eq!(x, [97i8, 98, 99, 100, 101, 0, 0, 0, 0, 0]);
41
42 let x = arrr!("👟💻🦴" as [i8; 20]);
43 assert_eq!(
44 x,
45 [
46 -16i8, -97, -111, -97, -16, -97, -110, -69, -16, -97, -90, -76, 0, 0, 0, 0, 0, 0,
47 0, 0
48 ]
49 );
50 }
51}