diff options
| -rw-r--r-- | library/coretests/tests/num/int_macros.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/library/coretests/tests/num/int_macros.rs b/library/coretests/tests/num/int_macros.rs index 719d29e4e7c..41d399c1ad9 100644 --- a/library/coretests/tests/num/int_macros.rs +++ b/library/coretests/tests/num/int_macros.rs @@ -690,6 +690,12 @@ macro_rules! int_module { const EXACT_DIV_SUCCESS_DIVIDEND2: $T = 18; const EXACT_DIV_SUCCESS_DIVISOR2: $T = 3; const EXACT_DIV_SUCCESS_QUOTIENT2: $T = 6; + const EXACT_DIV_SUCCESS_DIVIDEND3: $T = -91; + const EXACT_DIV_SUCCESS_DIVISOR3: $T = 13; + const EXACT_DIV_SUCCESS_QUOTIENT3: $T = -7; + const EXACT_DIV_SUCCESS_DIVIDEND4: $T = -57; + const EXACT_DIV_SUCCESS_DIVISOR4: $T = -3; + const EXACT_DIV_SUCCESS_QUOTIENT4: $T = 19; test_runtime_and_compiletime! { fn test_exact_div() { @@ -701,6 +707,14 @@ macro_rules! int_module { assert_eq_const_safe!(Option<$T>: <$T>::checked_exact_div(EXACT_DIV_SUCCESS_DIVIDEND2, EXACT_DIV_SUCCESS_DIVISOR2), Some(EXACT_DIV_SUCCESS_QUOTIENT2)); assert_eq_const_safe!($T: <$T>::exact_div(EXACT_DIV_SUCCESS_DIVIDEND2, EXACT_DIV_SUCCESS_DIVISOR2), EXACT_DIV_SUCCESS_QUOTIENT2); + // -91 / 13 + assert_eq_const_safe!(Option<$T>: <$T>::checked_exact_div(EXACT_DIV_SUCCESS_DIVIDEND3, EXACT_DIV_SUCCESS_DIVISOR3), Some(EXACT_DIV_SUCCESS_QUOTIENT3)); + assert_eq_const_safe!($T: <$T>::exact_div(EXACT_DIV_SUCCESS_DIVIDEND3, EXACT_DIV_SUCCESS_DIVISOR3), EXACT_DIV_SUCCESS_QUOTIENT3); + + // -57 / -3 + assert_eq_const_safe!(Option<$T>: <$T>::checked_exact_div(EXACT_DIV_SUCCESS_DIVIDEND4, EXACT_DIV_SUCCESS_DIVISOR4), Some(EXACT_DIV_SUCCESS_QUOTIENT4)); + assert_eq_const_safe!($T: <$T>::exact_div(EXACT_DIV_SUCCESS_DIVIDEND4, EXACT_DIV_SUCCESS_DIVISOR4), EXACT_DIV_SUCCESS_QUOTIENT4); + // failures assert_eq_const_safe!(Option<$T>: <$T>::checked_exact_div(1, 2), None); assert_eq_const_safe!(Option<$T>: <$T>::checked_exact_div(<$T>::MIN, -1), None); |
