Skip to content

Commit

Permalink
incorporate review comments for BAEL-747 (eugenp#1603)
Browse files Browse the repository at this point in the history
  • Loading branch information
sanaulla123 authored and maibin committed Apr 7, 2017
1 parent 69965db commit d87e066
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import java.math.BigInteger;

public class BigIntegerPrimeChecker implements PrimeChecker{
public class BigIntegerPrimeChecker implements PrimeChecker<Long>{

@Override
public boolean isPrime(int number) {
public boolean isPrime(Long number) {
BigInteger bigInt = BigInteger.valueOf(number);
return bigInt.isProbablePrime(100);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package com.baeldung.algorithms.primechecker;

import java.util.stream.IntStream;
import java.util.stream.LongStream;

public class BruteForcePrimeChecker implements PrimeChecker{
public class BruteForcePrimeChecker implements PrimeChecker<Integer>{

@Override
public boolean isPrime(int number) {
return IntStream.range(2, number).noneMatch(n -> (number % n == 0));
public boolean isPrime(Integer number) {

return number > 2 ? IntStream.range(2, number)
.noneMatch(n -> (number % n == 0)) : false;
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package com.baeldung.algorithms.primechecker;

import java.util.stream.IntStream;
import java.util.stream.LongStream;

public class OptimisedPrimeChecker implements PrimeChecker{
public class OptimisedPrimeChecker implements PrimeChecker<Integer>{

@Override
public boolean isPrime(int number) {
return IntStream.range(2, (int)Math.sqrt(number) + 1)
.noneMatch(n -> (number % n == 0));
public boolean isPrime(Integer number) {
return number > 2 ? IntStream.rangeClosed(2, (int) Math.sqrt(number))
.noneMatch(n -> (number % n == 0)) : false;
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.baeldung.algorithms.primechecker;

public interface PrimeChecker {
public interface PrimeChecker <T> {

public boolean isPrime( int number );
public boolean isPrime( T number );
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import org.apache.commons.math3.primes.Primes;

public class PrimesPrimeChecker implements PrimeChecker{
public class PrimesPrimeChecker implements PrimeChecker<Integer>{

@Override
public boolean isPrime(int number) {
public boolean isPrime(Integer number) {
return Primes.isPrime(number);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,20 @@

public class BigIntegerPrimeCheckerTest {

PrimeChecker primeChecker = new BigIntegerPrimeChecker();
BigIntegerPrimeChecker primeChecker = new BigIntegerPrimeChecker();

@Test
public void givenPrimeNumber_whenCheckIsPrime_thenTrue(){
assertTrue(primeChecker.isPrime(13));
assertTrue(primeChecker.isPrime(1009));
assertTrue(primeChecker.isPrime(13l));
assertTrue(primeChecker.isPrime(1009L));
assertTrue(primeChecker.isPrime(74207281L));
}

@Test
public void givenNonPrimeNumber_whenCheckIsPrime_thenFalse(){
assertTrue(!primeChecker.isPrime(50));
assertTrue(!primeChecker.isPrime(1001));
assertTrue(!primeChecker.isPrime(50L));
assertTrue(!primeChecker.isPrime(1001L));
assertTrue(!primeChecker.isPrime(74207282L));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

public class OptimisedPrimeCheckerTest {

PrimeChecker primeChecker = new OptimisedPrimeChecker();
OptimisedPrimeChecker primeChecker = new OptimisedPrimeChecker();

@Test
public void givenPrimeNumber_whenCheckIsPrime_thenTrue(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.baeldung.algorithms.primechecker.PrimesPrimeChecker;

public class PrimesPrimeCheckerTest {
PrimeChecker primeChecker = new PrimesPrimeChecker();
PrimesPrimeChecker primeChecker = new PrimesPrimeChecker();

@Test
public void givenPrimeNumber_whenCheckIsPrime_thenTrue() {
Expand Down

0 comments on commit d87e066

Please sign in to comment.