b3_utils 0.13.1

Utility functions for building on the Internet Computer
Documentation
#[cfg(test)]
mod tests {
    use crate::ledger::currency::ICPToken;

    #[test]
    fn test_add() {
        let token1 = ICPToken::from_e8s(100);
        let token2 = ICPToken::from_e8s(200);
        let result = token1 + token2;
        assert_eq!(result.e8s(), 300);
    }

    #[test]
    fn test_sub() {
        let token1 = ICPToken::from_e8s(200);
        let token2 = ICPToken::from_e8s(100);
        let result = token1 - token2;
        assert_eq!(result.e8s(), 100);
    }

    #[test]
    fn test_add_assign() {
        let mut token1 = ICPToken::from_e8s(100);
        let token2 = ICPToken::from_e8s(200);
        token1 += token2;
        assert_eq!(token1.e8s(), 300);
    }

    #[test]
    fn test_sub_assign() {
        let mut token1 = ICPToken::from_e8s(200);
        let token2 = ICPToken::from_e8s(100);
        token1 -= token2;
        assert_eq!(token1.e8s(), 100);
    }

    #[test]
    fn test_is_zero() {
        let token = ICPToken::from_e8s(0);
        assert!(token.is_zero());
    }

    #[test]
    fn test_amount() {
        let token = ICPToken::from_e8s(100_000_000);
        assert_eq!(token.amount(), 1);
    }

    #[test]
    fn test_display() {
        let token = ICPToken::from_e8s(123_456_789);
        assert_eq!(format!("{}", token), "1.23456789");
    }
}