mirror of
https://bitbucket.org/Mattrixwv/typescriptclasses.git
synced 2025-12-06 18:33:59 -05:00
Added test for isPrime function
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user