Add pollard rho algorithm (#3260)

This commit is contained in:
Akshay Dubey
2022-09-16 12:57:40 +05:30
committed by GitHub
parent 9c418ba827
commit a41656a311
2 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,51 @@
package com.thealgorithms.maths;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.jupiter.api.Test;
class PollardRhoTest {
@Test
void testPollardRhoForNumber315MustReturn5() {
//given
int number = 315;
int expectedResult = 5;
//when
int actualResult = PollardRho.pollardRho(number);
//then
assertEquals(expectedResult, actualResult);
}
@Test
void testPollardRhoForNumber187MustReturn11() {
//given
int number = 187;
int expectedResult = 11;
//when
int actualResult = PollardRho.pollardRho(number);
//then
assertEquals(expectedResult, actualResult);
}
@Test
void testPollardRhoForNumber239MustThrowException() {
//given
int number = 239;
String expectedMessage = "GCD cannot be found.";
//when
Exception exception = assertThrows(RuntimeException.class, () -> {
PollardRho.pollardRho(number);
});
String actualMessage = exception.getMessage();
//then
assertEquals(expectedMessage, actualMessage);
}
}