use qubit_argument::{
ArgumentErrorKind,
ArgumentValue,
NumericArgument,
};
#[test]
fn test_numeric_value_support_captures_signed_integer() {
let error = (-1_i32)
.require_non_negative("offset")
.expect_err("negative offset must fail");
assert_eq!(
error.kind(),
&ArgumentErrorKind::Comparison {
actual: ArgumentValue::from(-1_i32),
constraint: qubit_argument::ComparisonConstraint::AtLeast(
ArgumentValue::from(0_i32),
),
},
);
}
#[test]
fn test_numeric_value_support_classifies_nan() {
let error = f64::NAN
.require_zero("ratio")
.expect_err("NaN cannot satisfy numeric validation");
assert_eq!(error.kind(), &ArgumentErrorKind::NotANumber);
}