package com.shekhargulati.ninetynine_problems._02_arithmetic;
import org.junit.Test;
import java.util.List;
import java.util.stream.IntStream;
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
import static org.hamcrest.core.IsCollectionContaining.hasItems;
import static org.junit.Assert.assertThat;
public class P34Test {
@Test
public void shouldGiveAllPrimeNumbersBetween2And10() throws Exception {
List<Integer> primeNumbers = P34.primeNumbers(IntStream.rangeClosed(2, 10));
assertThat(primeNumbers, hasSize(4));
assertThat(primeNumbers, hasItems(2, 3, 5, 7));
}
@Test
public void shouldGiveAllPrimeNumbersBetween7And31() throws Exception {
List<Integer> primeNumbers = P34.primeNumbers(IntStream.rangeClosed(7, 31));
assertThat(primeNumbers, hasSize(8));
assertThat(primeNumbers, hasItems(7, 11, 13, 17, 19, 23, 29, 31));
}
@Test
public void shouldGiveAllPrimeNumbersBetween2And10_sieve() throws Exception {
List<Integer> primeNumbers = P34.primeNumbers_sieve(2, 10);
assertThat(primeNumbers, hasSize(4));
assertThat(primeNumbers, hasItems(2, 3, 5, 7));
}
@Test
public void shouldGiveAllPrimeNumbersBetween7And31_sieve() throws Exception {
List<Integer> primeNumbers = P34.primeNumbers_sieve(7, 31);
assertThat(primeNumbers, hasSize(8));
assertThat(primeNumbers, hasItems(7, 11, 13, 17, 19, 23, 29, 31));
}
}