diff --git a/src/lib.rs b/src/lib.rs index 07bfd4f..1cd5606 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -129,6 +129,10 @@ mod tests { assert_eq!(prime_factorization(2).into_vec(), vec![PrimeFactor { prime: 2, power: 1 }]); assert_eq!(prime_factorization(3).into_vec(), vec![PrimeFactor { prime: 3, power: 1 }]); assert_eq!(prime_factorization(4).into_vec(), vec![PrimeFactor { prime: 2, power: 2 }]); - assert_eq!(prime_factorization(500).into_vec(), vec![PrimeFactor { prime: 5, power: 3 }, PrimeFactor { prime: 2, power: 2 }]); + let mut prime_factors_500 = prime_factorization(500).into_vec(); + // A prime factor + its multiplicity doesn't have a clear ordering, but let's choose one, + // as otherwise the test output is nondeterministic due to hashing. + prime_factors_500.sort_by(|fa, fb| fa.prime.cmp(&fb.prime)); + assert_eq!(prime_factors_500, vec![PrimeFactor { prime: 2, power: 2 }, PrimeFactor { prime: 5, power: 3 }]); } }