pint/interpreter/
tests.rs

1#[cfg(test)]
2mod tests {
3    use crate::interpreter::*;
4    use crate::types::*;
5
6    #[test]
7    fn gets_correct_color_index() {
8        let color = RGB(0, 255, 0);
9        let result = get_color_index(color).unwrap();
10        let expected = Coordinates { x: 2, y: 1 };
11
12        assert_eq!(result, expected);
13    }
14
15    #[test]
16    fn gets_correct_color_diff_1() {
17        let prev = RGB(0, 255, 0);
18        let current = RGB(255, 192, 192);
19        let result = calculate_color_diff(prev, current);
20        let expected = Coordinates { x: 4, y: 2 };
21
22        assert_eq!(result, expected);
23    }
24
25    #[test]
26    fn gets_correct_color_diff_2() {
27        let prev = RGB(192, 255, 192);
28        let current = RGB(192, 255, 255);
29        let result = calculate_color_diff(prev, current);
30        let expected = Coordinates { x: 1, y: 0 };
31
32        assert_eq!(result, expected);
33    }
34    #[test]
35    fn gets_correct_color_diff_3() {
36        let prev = RGB(192, 0, 192);
37        let current = RGB(255, 0, 255);
38        let result = calculate_color_diff(prev, current);
39        let expected = Coordinates { x: 0, y: 2 };
40
41        assert_eq!(result, expected);
42    }
43    #[test]
44    fn roll_test1() {
45        let mut stack = vec![12, 3, 102, 33, 7, 4, 2];
46        let mut dp = Direction::UP;
47        let mut cc = CodelChooser::LEFT;
48
49        roll(3, &mut stack, &mut cc, &mut dp);
50        assert_eq!(stack, [12, 33, 7, 3, 102]);
51    }
52    #[test]
53    fn roll_test2() {
54        let mut stack = vec![1, 2, 3, 3, 1];
55        let mut dp = Direction::UP;
56        let mut cc = CodelChooser::LEFT;
57
58        roll(3, &mut stack, &mut cc, &mut dp);
59        assert_eq!(stack, [3, 1, 2]);
60    }
61    #[test]
62    fn switch_test() {
63        let mut stack = vec![1, 2, 3, 3, 1];
64        let mut dp = Direction::UP;
65        let mut cc = CodelChooser::LEFT;
66
67        switch(3, &mut stack, &mut cc, &mut dp);
68        assert_eq!(stack, [1, 2, 3, 3]);
69        assert_eq!(cc, CodelChooser::RIGHT);
70    }
71}