File tree Expand file tree Collapse file tree 2 files changed +45
-0
lines changed
Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * A function to test if a number is a prime number
3+ * @param number - The number you want to test
4+ * @return - boolean for whether or not a number is prime
5+ */
6+
7+ const isPrime = number => {
8+ if ( ! Number . isInteger ( number ) ) return false
9+ if ( number <= 1 ) return false
10+ if ( number === 2 ) {
11+ return true ;
12+ }
13+ if ( number % 2 === 0 ) return false ;
14+ for ( let i = 3 ; i <= parseInt ( Math . sqrt ( number ) ) ; i += 2 ) {
15+ if ( number % i === 0 ) return false ;
16+ }
17+ return true ;
18+ } ;
19+
20+ module . exports = isPrime ;
Original file line number Diff line number Diff line change 1+ const expect = require ( "chai" ) . expect ;
2+ const isPrime = require ( "../isPrime" ) ;
3+
4+ describe ( "isPrime" , ( ) => {
5+ it ( "returns a boolean denoting whether a number is a prime number" , ( ) => {
6+ const num = 7 ;
7+ const num2 = 24 ;
8+ expect ( isPrime ( num ) ) . to . be . true ;
9+ expect ( isPrime ( num2 ) ) . to . be . false ;
10+ } ) ;
11+ it ( "returns false if a number is less than or equal to 1" , ( ) => {
12+ const num = - 7 ;
13+ const num2 = 0 ;
14+ expect ( isPrime ( num ) ) . to . be . false ;
15+ expect ( isPrime ( num2 ) ) . to . be . false ;
16+ } ) ;
17+ it ( "returns false if a number is not an integer" , ( ) => {
18+ const num = 7.3 ;
19+ const num2 = 31.5 ;
20+ const num3 = 5.0
21+ expect ( isPrime ( num ) ) . to . be . false ;
22+ expect ( isPrime ( num2 ) ) . to . be . false ;
23+ expect ( isPrime ( num3 ) ) . to . be . true ;
24+ } ) ;
25+ } ) ;
You can’t perform that action at this time.
0 commit comments