fluent_asserter/
option_asserter.rs

1use super::*;
2
3//TODO: make trait and implement it
4
5impl<T> Asserter<Option<T>>
6where
7    T: PartialEq + std::fmt::Display,
8{
9    pub fn is_some(&self) {
10        match &self.value {
11            None => {
12                panic!("Expected '{}' to be Some(_), but found None", &self.name)
13            }
14            Some(_) => {}
15        }
16    }
17
18    pub fn is_some_with_value(&self, value: T) {
19        match &self.value {
20            Some(val) => {
21                if *val != value {
22                    panic!(
23                        "Expected '{}' to be Some({}), but found Some({}).",
24                        &self.name, value, val
25                    );
26                }
27            }
28            None => panic!(
29                "Expected '{}' to be Some({}), but found None.",
30                &self.name, value
31            ),
32        }
33    }
34
35    pub fn is_none(&self) {
36        match &self.value {
37            None => {}
38            Some(val) => panic!(
39                "Expected '{}' to be None, but found Some({}).",
40                &self.name, val
41            ),
42        }
43    }
44}