-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathAmountOfPrimeNumbersTest.java
44 lines (35 loc) · 1.49 KB
/
AmountOfPrimeNumbersTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package by.andd3dfx.numeric;
import org.junit.Test;
import java.util.function.Function;
import static org.assertj.core.api.Assertions.assertThat;
public class AmountOfPrimeNumbersTest {
@Test
public void testDetermine_usingPrimeDividersOfNumberSolution() {
check(AmountOfPrimeNumbers::determine_usingPrimeDividersOfNumberSolution);
}
@Test
public void testDetermine_usingCustomIsPrimeWithEarlyReturn() {
check(AmountOfPrimeNumbers::determine_usingCustomIsPrimeWithEarlyReturn);
}
@Test
public void testDetermine_usingEratosthenesSieve() {
check(AmountOfPrimeNumbers::determine_usingEratosthenesSieve);
}
@Test
public void testDetermine_usingEratosthenesSieveWithBitSet() {
check(AmountOfPrimeNumbers::determine_usingEratosthenesSieveWithBitSet);
}
private void check(Function<Integer, Integer> function) {
assertThat(function.apply(2)).isEqualTo(0);
assertThat(function.apply(3)).isEqualTo(1);
assertThat(function.apply(4)).isEqualTo(2);
assertThat(function.apply(5)).isEqualTo(2);
assertThat(function.apply(6)).isEqualTo(3);
assertThat(function.apply(7)).isEqualTo(3);
assertThat(function.apply(8)).isEqualTo(4);
assertThat(function.apply(10)).isEqualTo(4);
assertThat(function.apply(11)).isEqualTo(4);
assertThat(function.apply(12)).isEqualTo(5);
assertThat(function.apply(15)).isEqualTo(6);
}
}