Guest User

Untitled

a guest
Apr 19th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #[derive(Debug, PartialEq)]
  2. struct MyError {}
  3.  
  4. fn test_me(return_err: bool) -> Result<(), MyError> {
  5. if return_err {
  6. return Err(MyError{});
  7. }else {
  8. return Ok(());
  9. }
  10. }
  11.  
  12. #[cfg(test)]
  13. mod test {
  14. use super::*;
  15.  
  16. macro_rules! test_cases {
  17. ($($name:ident: $value:expr,)*) => {
  18. $(
  19. #[test]
  20. fn $name() {
  21. let (return_err, expected) = $value;
  22.  
  23. let result = test_me(return_err);
  24.  
  25. //assert_eq!(result, expected);
  26.  
  27. match expected {
  28. Ok(_) => assert!(result.is_ok()),
  29. Err(_) => assert_eq!(result.unwrap_err(), expected.unwrap_err())
  30. }
  31. }
  32. )*
  33. }
  34. }
  35.  
  36. test_cases! {
  37. test_0: (false, Ok(())),
  38. test_1: (true, Result::Err::<(), MyError>(MyError{})),
  39. }
  40. }
Add Comment
Please, Sign In to add comment