fluent_asserter/
result_asserter.rs1use crate::*;
2use std::fmt::Display;
3
4impl<T, K> Asserter<&Result<T, K>>
7where
8 T: PartialEq + Display,
9 K: PartialEq + Display,
10{
11 pub fn is_ok(&self) {
12 match &self.value {
13 Ok(_) => {}
14 Err(val) => {
15 panic!(
16 "Expected '{}' to be Ok, but found Err({}).",
17 &self.name, val
18 )
19 }
20 }
21 }
22
23 pub fn is_error(&self) {
24 match &self.value {
25 Ok(val) => {
26 panic!(
27 "Expected '{}' to be Err(_), but found Ok({}).",
28 &self.name, val
29 )
30 }
31 Err(_) => {}
32 }
33 }
34
35 pub fn is_ok_with_value(&self, expected_value: T) {
36 match &self.value {
37 Ok(val) => {
38 if *val != expected_value {
39 panic!(
40 "Expected '{}' to be Ok({}), but found Ok({}).",
41 &self.name, expected_value, val
42 )
43 }
44 }
45 Err(val) => {
46 panic!(
47 "Expected '{}' to be Ok({}), but found Err({}).",
48 &self.name, expected_value, val
49 )
50 }
51 }
52 }
53
54 pub fn is_error_with_value(&self, expected_value: K) {
55 match &self.value {
56 Ok(val) => {
57 panic!(
58 "Expected '{}' to be Err({}), but found Ok({}).",
59 &self.name, expected_value, val
60 )
61 }
62 Err(val) => {
63 if *val != expected_value {
64 panic!(
65 "Expected '{}' to be Err({}), but found Err({}).",
66 &self.name, expected_value, val
67 )
68 }
69 }
70 }
71 }
72}