expand_array/
lib.rs

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}