fluent_asserter/
number_asserter.rs

1use super::*;
2
3//TODO: make trait and implement it
4
5impl<T> Asserter<T>
6where
7    T: Copy + PartialOrd + std::fmt::Debug + std::fmt::Display,
8{
9    pub fn is_smaller_than(self, expected: T) {
10        if self.value >= expected {
11            panic!("The value {} is not smaller than {}", self.value, expected)
12        }
13    }
14
15    pub fn is_smaller_than_or_equal_to(self, expected: T) {
16        if self.value > expected {
17            panic!(
18                "The value {} is not smaller than or equal to {}",
19                self.value, expected
20            )
21        }
22    }
23
24    pub fn is_greater_than(self, expected: T) {
25        if self.value <= expected {
26            panic!("The value {} is not greater than {}", self.value, expected)
27        }
28    }
29
30    pub fn is_greater_than_or_equal_to(self, expected: T) {
31        if self.value < expected {
32            panic!("The value {} is not greater than {}", self.value, expected)
33        }
34    }
35
36    pub fn is_in_range(self, expected_lower_range: T, expected_upper_range: T) {
37        if self.value < expected_lower_range || self.value > expected_upper_range {
38            panic!(
39                "The value {} is not in range [{},{}]",
40                self.value, expected_lower_range, expected_upper_range
41            );
42        }
43    }
44
45    pub fn is_not_in_range(self, expected_lower_range: T, expected_upper_range: T) {
46        if self.value >= expected_lower_range && self.value <= expected_upper_range {
47            panic!(
48                "The value {} is unexpectedly in range [{},{}]",
49                self.value, expected_lower_range, expected_upper_range
50            );
51        }
52    }
53}