11package com .thealgorithms .maths .prime ;
22
3- import static org .junit .jupiter .api .Assertions .assertEquals ;
3+ import static org .junit .jupiter .api .Assertions .assertFalse ;
44import static org .junit .jupiter .api .Assertions .assertThrows ;
5+ import static org .junit .jupiter .api .Assertions .assertTrue ;
56import static org .mockito .ArgumentMatchers .any ;
67
78import com .thealgorithms .maths .Prime .EulerPseudoprime ;
@@ -14,55 +15,30 @@ class EulerPseudoprimeTest {
1415
1516 @ Test
1617 void testPrimeNumbers () {
17- assertEquals ( true , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (7 ), 5 ));
18- assertEquals ( true , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (13 ), 5 ));
19- assertEquals ( true , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (101 ), 5 ));
18+ assertTrue ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (7 ), 5 ));
19+ assertTrue ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (13 ), 5 ));
20+ assertTrue ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (101 ), 5 ));
2021 }
2122
2223 @ Test
2324 void testCompositeNumbers () {
24- assertEquals ( false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (9 ), 5 ));
25- assertEquals ( false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (21 ), 5 ));
26- assertEquals ( false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (221 ), 5 ));
25+ assertFalse ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (9 ), 5 ));
26+ assertFalse ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (21 ), 5 ));
27+ assertFalse ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (221 ), 5 ));
2728 }
2829
2930 @ Test
3031 void testEvenNumbers () {
31- assertEquals ( false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (4 ), 5 ));
32- assertEquals ( false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (100 ), 5 ));
32+ assertFalse ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (4 ), 5 ));
33+ assertFalse ( EulerPseudoprime .isProbablePrime (BigInteger .valueOf (100 ), 5 ));
3334 }
3435
3536 @ Test
3637 void testEdgeCases () {
37- assertEquals (false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (0 ), 5 ));
38- assertEquals (false , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (1 ), 5 ));
39- assertEquals (true , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (2 ), 5 ));
40- assertEquals (true , EulerPseudoprime .isProbablePrime (BigInteger .valueOf (3 ), 5 ));
41- }
42-
43- @ Test
44- void testSingleTrialConsistency () {
45- BigInteger n = BigInteger .valueOf (97 );
46- boolean result1 = EulerPseudoprime .isProbablePrime (n , 1 );
47- boolean result2 = EulerPseudoprime .isProbablePrime (n , 1 );
48- assertEquals (result1 , result2 , "Results should be deterministic with constant seed" );
49- }
50-
51- @ Test
52- void testJacobiSymbolBasicCases () throws Exception {
53- var method = EulerPseudoprime .class .getDeclaredMethod ("jacobiSymbol" , BigInteger .class , BigInteger .class );
54-
55- // (a/n) = (2/3) = -1
56- assertEquals (-1 , (int ) method .invoke (null , BigInteger .valueOf (2 ), BigInteger .valueOf (3 )));
57-
58- // (a/n) = (1/5) = 1
59- assertEquals (1 , (int ) method .invoke (null , BigInteger .ONE , BigInteger .valueOf (5 )));
60-
61- // (a/n) = (2/9) = 1
62- assertEquals (1 , (int ) method .invoke (null , BigInteger .valueOf (2 ), BigInteger .valueOf (9 )));
63-
64- // (a/n) = (3/9) = 0 since gcd(3,9)>1
65- assertEquals (0 , (int ) method .invoke (null , BigInteger .valueOf (3 ), BigInteger .valueOf (9 )));
38+ assertFalse (EulerPseudoprime .isProbablePrime (BigInteger .valueOf (0 ), 5 ));
39+ assertFalse (EulerPseudoprime .isProbablePrime (BigInteger .valueOf (1 ), 5 ));
40+ assertTrue (EulerPseudoprime .isProbablePrime (BigInteger .valueOf (2 ), 5 ));
41+ assertTrue (EulerPseudoprime .isProbablePrime (BigInteger .valueOf (3 ), 5 ));
6642 }
6743
6844 @ Test
@@ -74,7 +50,7 @@ void testIsProbablePrimeWhenJacobiSymbolIsZero() {
7450
7551 boolean result = EulerPseudoprime .isProbablePrime (BigInteger .valueOf (15 ), 1 );
7652
77- assertEquals ( false , result );
53+ assertFalse ( result );
7854 }
7955 }
8056
0 commit comments