use jayver::{Version as JayVer, VersionReq as JayReq};
use semver::{Version as SemVer, VersionReq as SemReq};
#[test]
fn test_version_equivalence() {
let jay_version = JayVer::parse("25.16.0").unwrap();
let sem_version = SemVer::parse("25.16.0").unwrap();
assert_eq!(jay_version.year as u64, sem_version.major);
assert_eq!(jay_version.week as u64, sem_version.minor);
assert_eq!(jay_version.patch as u64, sem_version.patch);
assert_eq!(jay_version.to_string(), sem_version.to_string());
}
#[test]
fn test_requirement_equivalence() {
let jay_version = JayVer::parse("25.16.0").unwrap();
let sem_version = SemVer::parse("25.16.0").unwrap();
let jay_req1 = JayReq::parse(">=25.10.0").unwrap();
let sem_req1 = SemReq::parse(">=25.10.0").unwrap();
assert_eq!(
jay_req1.matches(&jay_version),
sem_req1.matches(&sem_version)
);
let jay_req2 = JayReq::parse("<26.1.0").unwrap();
let sem_req2 = SemReq::parse("<26.1.0").unwrap();
assert_eq!(
jay_req2.matches(&jay_version),
sem_req2.matches(&sem_version)
);
assert_eq!(jay_req1.to_string(), ">=25.10.0");
assert_eq!(jay_req2.to_string(), "<26.1.0");
}