Skip to content
This repository was archived by the owner on Feb 20, 2019. It is now read-only.

Commit 36a309f

Browse files
alexandru-tomescuKent C. Dodds
authored andcommitted
feat(isPrime): add isPrime function (#147)
* WIP: Add isPrime function * WIP: Review lint error for isPrime function
1 parent 79b9e20 commit 36a309f

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

src/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import arrayAverage from './array-average'
5151
import find from './find'
5252
import median from './array-median'
5353
import timeDifference from './timeDifference'
54+
import isPrime from './is-prime'
5455

5556
export {
5657
isOdd,
@@ -106,4 +107,5 @@ export {
106107
arrayAverage,
107108
median,
108109
timeDifference,
110+
isPrime,
109111
}

src/is-prime.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export default isPrime
2+
3+
/**
4+
* This method tests if a given number is prime
5+
*
6+
* @param {Number} number - number to be evaluated
7+
* @returns {Boolean} - True if number is prime, false otherwise
8+
*/
9+
function isPrime(number) {
10+
let i
11+
for (i = 2; i < number; i++) {
12+
if (number % i === 0) {
13+
return false
14+
}
15+
}
16+
return number >= 1
17+
}

test/is-prime.test.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import test from 'ava'
2+
import {isPrime} from '../src'
3+
4+
test('check negative numbers -> -3', t => {
5+
const expected = false;
6+
const actual = isPrime(-3);
7+
8+
t.is(actual, expected);
9+
});
10+
11+
test('check negative numbers -> -1', t => {
12+
const expected = false;
13+
const actual = isPrime(-1);
14+
15+
t.is(actual, expected);
16+
});
17+
18+
test('check 0', t => {
19+
const expected = false;
20+
const actual = isPrime(0);
21+
22+
t.is(actual, expected);
23+
});
24+
25+
test('check odd number greater than 2 -> 4', t => {
26+
const expected = false;
27+
const actual = isPrime(4);
28+
29+
t.is(actual, expected);
30+
});
31+
32+
test('check prime numbers -> 1', t => {
33+
const expected = true;
34+
const actual = isPrime(1);
35+
36+
t.is(actual, expected);
37+
});
38+
39+
test('check prime numbers -> 3', t => {
40+
const expected = true;
41+
const actual = isPrime(3);
42+
43+
t.is(actual, expected);
44+
});

0 commit comments

Comments
 (0)