88
99public class FastPowerTest {
1010
11- @ Test
12- public void test () {
13- System .out .println ("Long Type:" );
14- long result ;
15- result = FastPower .calculate (2 , 2 , 10 );
16- assertEquals (result , 4 );
17- System .out .println ("The result of power(2,2) mod 10 is " + result );
18-
19- result = FastPower .calculate (100 , 1000 , 20 );
20- assertEquals (result , 0 );
21- System .out .println ("The result of power(100, 1000) mod 20 is " + result );
22-
23- result = FastPower .calculate (123456 , 123456789 , 234 );
24- System .out .println ("The result of power(123456, 123456789) mod 234 is " + result );
25-
11+ void testLong (long n , long k , long m ){
12+ long result = FastPower .calculate (n ,k ,m );
13+ assertEquals (result , BigInteger .valueOf (n ).modPow (BigInteger .valueOf (k ), BigInteger .valueOf (m )).longValue ());
14+ }
2615
27- System .out .println ("BigInteger Type:" );
28- BigInteger bigResult ;
29- bigResult = FastPower .calculate (BigInteger .TEN , BigInteger .TEN , new BigInteger ("4" ));
30- assertEquals (bigResult , BigInteger .ZERO );
31- System .out .println ("The bigResult of power(10, 10) mod 4 is " + bigResult );
16+ void testBigInteger (BigInteger n , BigInteger k , BigInteger m ){
17+ BigInteger result = FastPower .calculate (n ,k ,m );
18+ assertEquals (result , n .modPow (k ,m ));
19+ }
3220
33- bigResult = FastPower .calculate (new BigInteger ("123456" ), new BigInteger ("123456789" ), new BigInteger ("234" ));
34- System .out .println ("The bigResult of power(123456, 123456789) mod 234 is " + bigResult );
21+ @ Test
22+ public void test () {
23+ testLong (2 ,2 ,10 );
24+ testLong (100 ,1000 ,20 );
25+ testLong (123456 ,123456789 ,234 );
3526
36- bigResult = FastPower .calculate (new BigInteger ("123456789101112" ), new BigInteger ("12345678910111213" ), new BigInteger ("567890" ));
37- System .out .println ("The bigResult of power(123456789101112, 12345678910111213) mod 567890 is " + bigResult );
27+ testBigInteger (BigInteger .TEN ,BigInteger .TEN , BigInteger .valueOf (4 ));
28+ testBigInteger (new BigInteger ("123456" ), new BigInteger ("123456789" ), new BigInteger ("234" ));
29+ testBigInteger (new BigInteger ("123456789101112" ), new BigInteger ("12345678910111213" ), new BigInteger ("567890" ));
3830
3931 }
4032}
0 commit comments