vern 0.1.3

The version number parser for rust
Documentation
use vern::{core::Vern, internal::identifiers::CompareType};

#[test]
fn test_basic_function() {
    let version = "0.1.2-re.1.z266.1.2.3+build";
    let mut vern = Vern::new(version);
    assert_eq!(vern.major, 0);
    assert_eq!(vern.minor, 1);
    assert_eq!(vern.patch, 2);
    assert_eq!(vern.prerelease.contains(&"re".to_string()), true);
    assert_eq!(vern.prerelease.contains(&"1".to_string()), true);
    assert_eq!(vern.prerelease.contains(&"z266".to_string()), true);
    assert_eq!(vern.prerelease.contains(&"266".to_string()), false);
    assert_eq!(vern.build.contains(&"build".to_string()), true);
    assert_eq!(vern.version, "0.1.2");
    assert_eq!(vern.format(), "0.1.2");
    assert_eq!(vern.to_string(), vern.version);
}

#[test]
fn test_compare() {
    let avern = Vern::new("0.1.2");
    let bvern = Vern::new("0.1.3");
    match avern.compare(bvern) {
        CompareType::LARGER => assert!(false),
        CompareType::SMALLER => assert!(true),
        CompareType::EQUAL => assert!(false),
    }
    let cvern = Vern::new("0.1.1");
    match avern.compare(cvern) {
        CompareType::LARGER => assert!(true),
        CompareType::SMALLER => assert!(false),
        CompareType::EQUAL => assert!(false),
    }

    let dvern = Vern::new("0.1.2");
    match avern.compare(dvern) {
        CompareType::LARGER => assert!(false),
        CompareType::SMALLER => assert!(false),
        CompareType::EQUAL => assert!(true),
    }
}