Skip to content

Commit ce3d4f7

Browse files
committed
fix: add full test coverage
1 parent 78523ef commit ce3d4f7

File tree

2 files changed

+10
-26
lines changed

2 files changed

+10
-26
lines changed

src/main/java/com/thealgorithms/maths/SieveOfAtkin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ private SieveOfAtkin() {
2525
* @return a list of prime numbers up to the limit; empty if the limit is less than 2
2626
*/
2727
public static List<Integer> generatePrimes(int limit) {
28-
if (limit < 2) {
28+
if (limit < 1) {
2929
return List.of();
3030
}
3131

src/test/java/com/thealgorithms/maths/SieveOfAtkinTest.java

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,53 +11,37 @@
1111
*/
1212
class SieveOfAtkinTest {
1313

14-
/**
15-
* Tests prime generation for a small limit of 10.
16-
* Expected primes are 2, 3, 5, 7.
17-
*/
1814
@Test
1915
void testGeneratePrimesLimit10() {
2016
List<Integer> primes = SieveOfAtkin.generatePrimes(10);
21-
assertEquals(List.of(2, 3, 5, 7), primes);
17+
// Assert the full expected list of primes
18+
List<Integer> expected = List.of(2, 3, 5, 7);
19+
assertEquals(expected, primes, "Primes up to 10 should match expected list");
2220
}
2321

24-
/**
25-
* Tests prime generation when limit is 2.
26-
* Expected result is a single prime number 2.
27-
*/
2822
@Test
2923
void testGeneratePrimesLimit2() {
3024
List<Integer> primes = SieveOfAtkin.generatePrimes(2);
31-
assertEquals(List.of(2), primes);
25+
List<Integer> expected = List.of(2);
26+
assertEquals(expected, primes, "Primes up to 2 should include 2");
3227
}
3328

34-
/**
35-
* Tests prime generation when limit is less than 2.
36-
* Expected result is an empty list.
37-
*/
3829
@Test
3930
void testGeneratePrimesLimit1() {
4031
List<Integer> primes = SieveOfAtkin.generatePrimes(1);
41-
assertTrue(primes.isEmpty());
32+
assertTrue(primes.isEmpty(), "Primes list should be empty when limit < 2");
4233
}
4334

44-
/**
45-
* Tests prime generation for a moderate limit of 50.
46-
* Verifies that the list contains all correct primes up to 50.
47-
*/
4835
@Test
4936
void testGeneratePrimesLimit50() {
5037
List<Integer> primes = SieveOfAtkin.generatePrimes(50);
51-
assertEquals(List.of(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47), primes);
38+
List<Integer> expected = List.of(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47);
39+
assertEquals(expected, primes, "Primes up to 50 should match expected list");
5240
}
5341

54-
/**
55-
* Tests prime generation when limit is negative.
56-
* Expected result is an empty list.
57-
*/
5842
@Test
5943
void testGeneratePrimesNegativeLimit() {
6044
List<Integer> primes = SieveOfAtkin.generatePrimes(-10);
61-
assertTrue(primes.isEmpty());
45+
assertTrue(primes.isEmpty(), "Primes list should be empty for negative limit");
6246
}
6347
}

0 commit comments

Comments
 (0)