mirror of
https://bitbucket.org/Mattrixwv/javaclasses.git
synced 2025-12-07 07:23:57 -05:00
Added Sieve of Eratosthenes implementations
This commit is contained in:
38
src/test/java/mattrixwv/TestSieveOfEratosthenes.java
Normal file
38
src/test/java/mattrixwv/TestSieveOfEratosthenes.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package mattrixwv;
|
||||
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
|
||||
public class TestSieveOfEratosthenes{
|
||||
@Test
|
||||
public void testSieveOfEratosthenes(){
|
||||
//Test 1
|
||||
SieveOfEratosthenes sieve = new SieveOfEratosthenes();
|
||||
ArrayList<Long> correctAnswer = new ArrayList<Long>(Arrays.asList(2L, 3L, 5L, 7L, 11L, 13L, 17L, 19L, 23L, 29L, 31L, 37L, 41L, 43L, 47L, 53L, 59L, 61L, 67L, 71L, 73L, 79L, 83L, 89L, 97L));
|
||||
ArrayList<Long> answer = new ArrayList<Long>();
|
||||
for(int cnt = 0;cnt < 25;++cnt){
|
||||
long prime = sieve.next();
|
||||
answer.add(prime);
|
||||
}
|
||||
assertEquals("SieveOfEratosthenes failed", correctAnswer, answer);
|
||||
}
|
||||
@Test
|
||||
public void testSieveOfEratosthenesBig(){
|
||||
//Test 1
|
||||
SieveOfEratosthenesBig sieve = new SieveOfEratosthenesBig();
|
||||
ArrayList<BigInteger> correctAnswer = new ArrayList<BigInteger>(Arrays.asList(BigInteger.valueOf(2), BigInteger.valueOf(3), BigInteger.valueOf(5), BigInteger.valueOf(7), BigInteger.valueOf(11), BigInteger.valueOf(13), BigInteger.valueOf(17), BigInteger.valueOf(19), BigInteger.valueOf(23), BigInteger.valueOf(29), BigInteger.valueOf(31), BigInteger.valueOf(37), BigInteger.valueOf(41), BigInteger.valueOf(43), BigInteger.valueOf(47), BigInteger.valueOf(53), BigInteger.valueOf(59), BigInteger.valueOf(61), BigInteger.valueOf(67), BigInteger.valueOf(71), BigInteger.valueOf(73), BigInteger.valueOf(79), BigInteger.valueOf(83), BigInteger.valueOf(89), BigInteger.valueOf(97)));
|
||||
ArrayList<BigInteger> answer = new ArrayList<BigInteger>();
|
||||
for(int cnt = 0;cnt < 25;++cnt){
|
||||
BigInteger prime = sieve.next();
|
||||
answer.add(prime);
|
||||
}
|
||||
assertEquals("SieveOfEratosthenesBig failed", correctAnswer, answer);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user