dce-macro 1.8.0

The macros for the dce-router lib
Documentation
use dce_macro::{err_priv_msg, err_pub_msg, priv_msg, pub_msg};
use dce_util::result::{DceResult};

#[test]
fn test_err() {
    let e = pub_msg!("pub with code 0");
    assert_eq!(e.code, 0);

    let code = 100;
    let e = pub_msg!(code, "pub with code {}", code);
    assert_eq!(e.code, code);

    let e = priv_msg!("priv with code 0");
    assert_eq!(e.public, false);

    let e: DceResult<()> = err_pub_msg!("err wrapped pub with code 0");
    assert!(e.is_err());

    let code = 1024;
    let e: DceResult<()> = err_priv_msg!("err wrapped priv with code {}", code);
    assert!(e.is_err());
    assert_eq!(e.unwrap_err().body.to_string(), "err wrapped priv with code 1024");
}