Skip to content

Commit fa68c82

Browse files
refactor: migrate assert_mr_eq! macro calls to function in test suite
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9326c23 commit fa68c82

1 file changed

Lines changed: 24 additions & 60 deletions

File tree

vm/src/tests/cairo_test_suite/test_math/test_math_cairo.rs

Lines changed: 24 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use std::sync::LazyLock;
44

55
use super::math_test_utils::{is_quad_residue_mod_prime, MAX_DIV, RC_BOUND};
6-
use crate::assert_mr_eq;
6+
use crate::test_helpers::test_utils::assert_mr_eq;
77
use crate::cairo_args;
88
use crate::load_cairo_program;
99
use crate::test_helpers::error_utils::{
@@ -189,7 +189,7 @@ fn test_assert_250_bit(
189189
// If successful, verify the return value
190190
if res.is_ok() {
191191
let ret = runner.vm.get_return_values(1).unwrap();
192-
assert_mr_eq!(&ret[0], &rc_base.add_usize(3).unwrap());
192+
assert_mr_eq(&ret[0], &rc_base.add_usize(3).unwrap());
193193
}
194194
}
195195

@@ -262,13 +262,9 @@ fn test_split_felt(mut runner: CairoRunner, #[case] idx: usize) {
262262

263263
let ret = runner.vm.get_return_values(3).unwrap();
264264
// ret = [range_check_ptr, high, low]
265-
assert_mr_eq!(
266-
&ret[0],
267-
&rc_base.add_usize(3).unwrap(),
268-
"range_check_ptr mismatch for value {value}"
269-
);
270-
assert_mr_eq!(&ret[1], &expected_high, "high mismatch for value {value}");
271-
assert_mr_eq!(&ret[2], &expected_low, "low mismatch for value {value}");
265+
assert_mr_eq(&ret[0], &rc_base.add_usize(3).unwrap());
266+
assert_mr_eq(&ret[1], &expected_high);
267+
assert_mr_eq(&ret[2], &expected_low);
272268
}
273269

274270
// ===================== test_assert_le_felt =====================
@@ -293,11 +289,7 @@ fn test_assert_le_felt(
293289
.run_default_cairo0("assert_le_felt", &args)
294290
.unwrap_or_else(|e| panic!("assert_le_felt failed for {value0} <= {value1}: {e}"));
295291
let ret = runner.vm.get_return_values(1).unwrap();
296-
assert_mr_eq!(
297-
&ret[0],
298-
&rc_base.add_usize(4).unwrap(),
299-
"range_check_ptr mismatch for {value0} <= {value1}"
300-
);
292+
assert_mr_eq(&ret[0], &rc_base.add_usize(4).unwrap());
301293
} else {
302294
let result = runner.run_default_cairo0("assert_le_felt", &args);
303295
expect_non_le_felt252(&result);
@@ -326,11 +318,7 @@ fn test_assert_lt_felt(
326318
.run_default_cairo0("assert_lt_felt", &args)
327319
.unwrap_or_else(|e| panic!("assert_lt_felt failed for {value0} < {value1}: {e}"));
328320
let ret = runner.vm.get_return_values(1).unwrap();
329-
assert_mr_eq!(
330-
&ret[0],
331-
&rc_base.add_usize(4).unwrap(),
332-
"range_check_ptr mismatch for {value0} < {value1}"
333-
);
321+
assert_mr_eq(&ret[0], &rc_base.add_usize(4).unwrap());
334322
} else {
335323
let result = runner.run_default_cairo0("assert_lt_felt", &args);
336324
expect_assert_lt_felt252(&result);
@@ -372,8 +360,8 @@ fn test_abs_value(mut runner: CairoRunner, #[case] value_case: BigInt, #[case] c
372360
let abs_value = value_case.magnitude();
373361
if abs_value < &rc_bound_biguint {
374362
let ret = runner.vm.get_return_values(2).unwrap();
375-
assert_mr_eq!(&ret[0], &rc_base.add_usize(1).unwrap());
376-
assert_mr_eq!(&ret[1], abs_value);
363+
assert_mr_eq(&ret[0], &rc_base.add_usize(1).unwrap());
364+
assert_mr_eq(&ret[1], abs_value);
377365
}
378366
}
379367

@@ -417,7 +405,7 @@ fn test_sign(mut runner: CairoRunner, #[case] value_case: BigInt, #[case] check:
417405
} else {
418406
rc_base.add_usize(1).unwrap()
419407
};
420-
assert_mr_eq!(&ret[0], &expected_rc_ptr);
408+
assert_mr_eq(&ret[0], &expected_rc_ptr);
421409

422410
// res == (0 if value == 0 else 1 if value > 0 else PRIME - 1)
423411
let expected_sign = if value_case.is_zero() {
@@ -427,7 +415,7 @@ fn test_sign(mut runner: CairoRunner, #[case] value_case: BigInt, #[case] check:
427415
} else {
428416
&*CAIRO_PRIME - BigUint::one()
429417
};
430-
assert_mr_eq!(&ret[1], &expected_sign);
418+
assert_mr_eq(&ret[1], &expected_sign);
431419
}
432420
}
433421

@@ -542,13 +530,9 @@ fn test_unsigned_div_rem(
542530
// If successful, verify the results match expected values
543531
if result.is_ok() {
544532
let ret = runner.vm.get_return_values(3).unwrap();
545-
assert_mr_eq!(
546-
&ret[0],
547-
&rc_base.add_usize(3).unwrap(),
548-
"range_check_ptr mismatch"
549-
);
550-
assert_mr_eq!(&ret[1], &q, "quotient mismatch");
551-
assert_mr_eq!(&ret[2], &r, "remainder mismatch");
533+
assert_mr_eq(&ret[0], &rc_base.add_usize(3).unwrap());
534+
assert_mr_eq(&ret[1], &q);
535+
assert_mr_eq(&ret[2], &r);
552536
}
553537
}
554538

@@ -699,11 +683,11 @@ fn test_signed_div_rem(
699683
let result_q = &ret[1];
700684
let result_r = &ret[2];
701685

702-
assert_mr_eq!(rc_ptr, &rc_base.add_usize(4).unwrap());
686+
assert_mr_eq(rc_ptr, &rc_base.add_usize(4).unwrap());
703687
// Expected_q = q % PRIME (field element conversion).
704688
let expected_q = Felt252::from(&q);
705-
assert_mr_eq!(result_q, &expected_q);
706-
assert_mr_eq!(result_r, &r);
689+
assert_mr_eq(result_q, &expected_q);
690+
assert_mr_eq(result_r, &r);
707691
}
708692
}
709693

@@ -772,7 +756,7 @@ fn test_split_int(
772756
let expected_output =
773757
expected_output.expect("expected_output must be set for success case");
774758
let ret = runner.vm.get_return_values(1).unwrap();
775-
assert_mr_eq!(&ret[0], &rc_base.add_usize(2 * n as usize).unwrap());
759+
assert_mr_eq(&ret[0], &rc_base.add_usize(2 * n as usize).unwrap());
776760

777761
let range = runner.vm.get_range(output, n as usize);
778762
assert_eq!(
@@ -784,11 +768,7 @@ fn test_split_int(
784768
let actual_val = actual
785769
.as_ref()
786770
.unwrap_or_else(|| panic!("Missing output at index {i}"));
787-
assert_mr_eq!(
788-
actual_val.as_ref(),
789-
*exp,
790-
"split_int output mismatch at index {i}"
791-
);
771+
assert_mr_eq(actual_val.as_ref(), *exp);
792772
}
793773
}
794774
}
@@ -857,18 +837,10 @@ fn test_sqrt(mut runner: CairoRunner, #[case] value: Option<BigUint>, #[case] ch
857837

858838
if result.is_ok() {
859839
let ret = runner.vm.get_return_values(2).unwrap();
860-
assert_mr_eq!(
861-
&ret[0],
862-
&rc_base.add_usize(4).unwrap(),
863-
"range_check_ptr mismatch for sqrt({value})"
864-
);
840+
assert_mr_eq(&ret[0], &rc_base.add_usize(4).unwrap());
865841

866842
let expected_root = value.sqrt();
867-
assert_mr_eq!(
868-
&ret[1],
869-
&expected_root,
870-
"sqrt result mismatch for value={value}"
871-
);
843+
assert_mr_eq(&ret[1], &expected_root);
872844
}
873845
}
874846

@@ -907,7 +879,7 @@ fn test_horner_eval(mut runner: CairoRunner, #[case] n: usize) {
907879
.map(|(i, coef)| coef * point.modpow(&BigUint::from(i), prime))
908880
.fold(BigUint::zero(), |acc, x| (acc + x) % prime);
909881

910-
assert_mr_eq!(&ret[0], &expected);
882+
assert_mr_eq(&ret[0], &expected);
911883
}
912884

913885
// ===================== test_is_quad_residue =====================
@@ -933,11 +905,7 @@ fn test_is_quad_residue(mut runner: CairoRunner, #[case] x: Option<BigUint>) {
933905
let ret = runner.vm.get_return_values(1).unwrap();
934906

935907
let expected = is_quad_residue_mod_prime(&x);
936-
assert_mr_eq!(
937-
&ret[0],
938-
expected,
939-
"is_quad_residue({x}) should return {expected}"
940-
);
908+
assert_mr_eq(&ret[0], expected);
941909

942910
// Test is_quad_residue(3 * x)
943911
// 3 is not a quadratic residue modulo PRIME
@@ -956,9 +924,5 @@ fn test_is_quad_residue(mut runner: CairoRunner, #[case] x: Option<BigUint>) {
956924
} else {
957925
1 // x is not QR, 3 is not QR, so 3*x is QR (product of two non-QR is QR)
958926
};
959-
assert_mr_eq!(
960-
&ret2[0],
961-
expected2,
962-
"is_quad_residue(3 * {x}) should return {expected2}"
963-
);
927+
assert_mr_eq(&ret2[0], expected2);
964928
}

0 commit comments

Comments
 (0)