Skip to content

Commit 28266e5

Browse files
authored
Merge pull request #232 from sir-gon/develop
[Hacker Rank]: Project Euler #3: Largest prime factor. Coverage incre…
2 parents 06f1573 + ee7a4a8 commit 28266e5

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

algorithm-exercises-java/src/main/java/ae/hackerrank/projecteuler/Euler003.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ private Euler003() {}
1111

1212
private static Long primeFactor(Long n) {
1313
if (n < 2) {
14-
return null;
14+
throw new IllegalArgumentException("n must be greater than 2");
1515
}
1616

1717
Long divisor = n;

algorithm-exercises-java/src/test/java/ae/hackerrank/projecteuler/Euler003Test.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package ae.hackerrank.projecteuler;
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertThrows;
5+
import static org.junit.jupiter.api.Assertions.assertTrue;
46

57
import java.io.IOException;
68
import java.util.List;
79
import org.junit.jupiter.api.BeforeAll;
810
import org.junit.jupiter.api.Test;
911
import org.junit.jupiter.api.TestInstance;
1012
import org.junit.jupiter.api.TestInstance.Lifecycle;
13+
import org.junit.jupiter.params.ParameterizedTest;
14+
import org.junit.jupiter.params.provider.CsvSource;
1115
import util.JsonLoader;
1216

1317

@@ -45,4 +49,22 @@ public void setup() throws IOException {
4549
);
4650
}
4751
}
52+
53+
@ParameterizedTest
54+
@CsvSource({
55+
"0",
56+
"1"
57+
}) void euler003edgecases(long input) {
58+
59+
Exception exception;
60+
61+
exception = assertThrows(IllegalArgumentException.class, () ->
62+
Euler003.euler003(input)
63+
);
64+
65+
String expectedMessage = "n must be greater than 2";
66+
67+
assertTrue(exception.getMessage().contains(expectedMessage));
68+
69+
}
4870
}

0 commit comments

Comments
 (0)