callpass 0.3.0

Generate APRS passcodes
Documentation
extern crate callpass;

use callpass::Callpass;

#[test]
fn correctness() {
    assert_eq!(
        format!("{}", Callpass::from(&"ab2def".to_string())),
        "17826"
    );
    assert_eq!(
        format!("{}", Callpass::from(&"xyzmb2".to_string())),
        "13252"
    );
}

#[test]
fn comparison() {
    let callpass = Callpass::from(&"12345".to_string());
    assert!(callpass == 17636u16);
    assert!(callpass != 00000u16);
}

#[test]
fn into_string() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: String = callpass.into();
    assert_eq!(test, "17636".to_string());
}

#[test]
fn zeros_padding() {
    assert_eq!(format!("{}", Callpass::from(&"a--".to_string())), "08143");
    assert_eq!(format!("{}", Callpass::from(&"a+%!".to_string())), "06120");
}

#[test]
fn from_string() {
    let callpass = Callpass::from("12345".to_string());
    let callsign = "12345".to_string();
    assert_eq!(callpass, Callpass::from(callsign));
}

#[test]
fn from_string_borrow() {
    let callpass = Callpass::from(&"12345".to_string());
    let callsign = "12345".to_string();
    assert_eq!(callpass, Callpass::from(&callsign));
}

#[test]
fn from_str() {
    let callpass = Callpass::from(&"12345".to_string());
    let callsign: &str = "12345";
    assert_eq!(callpass, Callpass::from(callsign));
}

#[test]
fn into_u64() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: u64 = callpass.into();
    assert_eq!(test, 17636u64);
}

#[test]
fn from_u64() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: Callpass = 17636u64.into();
    assert_eq!(test, callpass);
}

#[test]
fn into_i64() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: i64 = callpass.into();
    assert_eq!(test, 17636i64);
}

#[test]
fn from_i64() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: Callpass = 17636i64.into();
    assert_eq!(test, callpass);
}

#[test]
fn into_u32() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: u32 = callpass.into();
    assert_eq!(test, 17636u32);
}

#[test]
fn from_u32() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: Callpass = 17636u32.into();
    assert_eq!(test, callpass);
}

#[test]
fn into_i32() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: i32 = callpass.into();
    assert_eq!(test, 17636i32);
}

#[test]
fn from_i32() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: Callpass = 17636i32.into();
    assert_eq!(test, callpass);
}

#[test]
fn into_u16() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: u16 = callpass.into();
    assert_eq!(test, 17636u16);
}

#[test]
fn from_u16() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: Callpass = 17636u16.into();
    assert_eq!(test, callpass);
}

#[test]
fn into_i16() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: i16 = callpass.into();
    assert_eq!(test, 17636i16);
}

#[test]
fn from_i16() {
    let callpass = Callpass::from(&"12345".to_string());
    let test: Callpass = 17636i16.into();
    assert_eq!(test, callpass);
}