use polycvss::{Err, Severity, Version, v4};
fn main() {
assert_eq!("asdf".parse::<v4::Vector>(), Err(Err::Len));
assert_eq!("CVSS:foo/".parse::<v4::Vector>(), Err(Err::Prefix));
assert_eq!("CVSS:4.0/AV:N/AV:N".parse::<v4::Vector>(), Err(Err::DuplicateName));
assert_eq!("asdf".parse::<v4::Name>(), Err(Err::UnknownName));
assert_eq!("CVSS:4.0/AV:Z".parse::<v4::Vector>(), Err(Err::UnknownMetric));
assert_eq!("CVSS:4.0/ZZ:Z".parse::<v4::Vector>(), Err(Err::UnknownMetric));
{
let s = "CVSS:4.0/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H";
assert_eq!(s.parse::<v4::Vector>(), Err(Err::MissingMandatoryMetrics));
}
assert_eq!("asdf".parse::<Severity>(), Err(Err::UnknownSeverity));
assert_eq!(v4::MacroVector::try_from(123456), Err(Err::InvalidMacroVector));
assert_eq!("asdf".parse::<Version>(), Err(Err::UnknownVersion));
assert_eq!("asdf".parse::<v4::Nomenclature>(), Err(Err::UnknownNomenclature));
}