lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

types.rs (1544B)


      1 use radroots_types::types::{IError, IResult, IResultList, IResultPass};
      2 
      3 #[test]
      4 fn error_wrapper_from_and_new_paths_are_exercised() {
      5     let from_impl: IError<&str> = IError::from("boom");
      6     assert_eq!(from_impl.err, "boom");
      7 
      8     let via_new = IError::new("bad");
      9     assert_eq!(via_new.err, "bad");
     10 }
     11 
     12 #[test]
     13 fn result_wrapper_new_path_is_exercised() {
     14     let out = IResult::new(42u32);
     15     assert_eq!(out.result, 42);
     16 }
     17 
     18 #[test]
     19 fn result_list_helpers_cover_empty_and_non_empty_branches() {
     20     let empty = IResultList::<u32>::new(Vec::new());
     21     assert!(empty.is_empty());
     22 
     23     let non_empty = IResultList::new(vec![1u32, 2u32]);
     24     assert!(!non_empty.is_empty());
     25     assert_eq!(non_empty.results, vec![1u32, 2u32]);
     26 }
     27 
     28 #[test]
     29 fn result_pass_status_label_covers_both_branches() {
     30     let pass = IResultPass::new(true);
     31     let fail = IResultPass::new(false);
     32     assert_eq!(pass.status_label(), "pass");
     33     assert_eq!(fail.status_label(), "fail");
     34 }
     35 
     36 #[test]
     37 fn serde_shapes_for_types_are_stable() {
     38     let err = serde_json::to_value(IError::new("boom")).unwrap();
     39     assert_eq!(err, serde_json::json!({ "err": "boom" }));
     40 
     41     let out = serde_json::to_value(IResult::new(7u32)).unwrap();
     42     assert_eq!(out, serde_json::json!({ "result": 7 }));
     43 
     44     let list = serde_json::to_value(IResultList::new(vec!["a", "b"])).unwrap();
     45     assert_eq!(list, serde_json::json!({ "results": ["a", "b"] }));
     46 
     47     let pass = serde_json::to_value(IResultPass::new(true)).unwrap();
     48     assert_eq!(pass, serde_json::json!({ "pass": true }));
     49 }