Added test for isPrime function

This commit is contained in:
2021-07-01 10:06:13 -04:00
parent 28e28c2ee4
commit bb5b8154ae
2 changed files with 49 additions and 2 deletions

View File

@@ -327,7 +327,7 @@ export function isPrime(possiblePrime: number): boolean{
else if(((possiblePrime % 2) == 0) || ((possiblePrime % 3) == 0)){
return false;
}
for(let cnt: number = 5;(cnt * cnt) <= possiblePrime; cnt += 6){
for(let cnt: number = 5;(cnt * cnt) <= possiblePrime;cnt += 6){
if(((possiblePrime % cnt) == 0) || ((possiblePrime % (cnt + 2)) == 0)){
return false;
}

View File

@@ -23,7 +23,7 @@ Copyright (C) 2021 Matthew Ellison
import assert = require("assert");
import { arrayEquals, getAllFib, getAllFibBig, getFactors, getFactorsBig, getPrimes, getPrimesBig, getNumPrimes, getNumPrimesBig,
sqrtBig, getSum, getSumBig, getProd, getProdBig, getDivisors, getDivisorsBig, factorial, factorialBig, isPalindrome, toBin, toBinBig } from "./Algorithms";
sqrtBig, getSum, getSumBig, getProd, getProdBig, getDivisors, getDivisorsBig, factorial, factorialBig, isPalindrome, toBin, toBinBig, isPrime, isPrimeBig } from "./Algorithms";
function testArrayEquals(){
@@ -148,6 +148,52 @@ function testGetNumPrimes(){
console.log("getNumPrimes passed");
}
function testIsPrime(){
//Test 1
let num: number = 2;
let correctAnswer: boolean = true;
let answer: boolean = isPrime(num);
assert.ok((answer == correctAnswer), "isPrime number 1 failed");
//Test 2
num = 97;
correctAnswer = true;
answer = isPrime(num);
assert.ok((answer == correctAnswer), "isPrime number 2 failed");
//Test 3
num = 1000;
correctAnswer = false;
answer = isPrime(num);
assert.ok((answer == correctAnswer), "isPrime number 3 failed");
//Test 4
num = 1;
correctAnswer = false;
answer = isPrime(num);
assert.ok((answer == correctAnswer), "isPrime number 4 failed");
//Test 5
let bigNum: bigint = 2n;
correctAnswer = true;
answer = isPrimeBig(bigNum);
assert.ok((answer == correctAnswer), "isPrime big 1 failed");
//Test 6
bigNum = 97n;
correctAnswer = true;
answer = isPrimeBig(bigNum);
assert.ok((answer == correctAnswer), "isPrime big 2 failed");
//Test 7
bigNum = 1000n;
correctAnswer = false;
answer = isPrimeBig(bigNum);
assert.ok((answer == correctAnswer), "isPrime big 3 failed");
//Test 8
bigNum = 1n;
correctAnswer = false;
answer = isPrimeBig(bigNum);
assert.ok((answer == correctAnswer), "isPrime big 4 failed");
console.log("isPrime passed");
}
function testGetFactors(){
//Test 1
let correctAnswer = [2, 2, 5, 5];
@@ -316,6 +362,7 @@ testSqrtBig();
testGetAllFib();
testGetPrimes();
testGetNumPrimes();
testIsPrime();
testGetFactors();
testGetDivisors();
testGetSum();