1
+ import { binaryGCF , greatestCommonFactor } from "../GreatestCommonFactor" ;
2
+
3
+ describe ( "binaryGCF" , ( ) => {
4
+ test . each ( [ [ 12 , 8 , 4 ] , [ 1 , 199 , 1 ] , [ 88 , 40 , 8 ] , [ 288 , 160 , 32 ] ] ) (
5
+ "of given two numbers is correct" ,
6
+ ( numa , numb , expected ) => {
7
+ expect ( binaryGCF ( numa , numb ) ) . toBe ( expected ) ;
8
+ } ,
9
+ ) ;
10
+
11
+ test ( "only whole numbers should be accepted" , ( ) => {
12
+ expect ( ( ) => binaryGCF ( 0.5 , 0.8 ) ) . toThrowError (
13
+ "numbers must be natural to determine factors" ,
14
+ ) ;
15
+ } ) ;
16
+
17
+ test ( "only positive numbers should be accepted" , ( ) => {
18
+ expect ( ( ) => binaryGCF ( - 2 , 4 ) ) . toThrowError (
19
+ "numbers must be natural to determine factors" ,
20
+ ) ;
21
+ } ) ;
22
+ } ) ;
23
+
24
+ describe ( "greatestCommonFactor" , ( ) => {
25
+ test . each ( [ [ [ 7 ] , 7 ] , [ [ 12 , 8 ] , 4 ] , [ [ 1 , 199 ] , 1 ] , [ [ 88 , 40 , 32 ] , 8 ] , [ [ 288 , 160 , 64 ] , 32 ] ] ) (
26
+ "of given list is correct" ,
27
+ ( nums , expected ) => {
28
+ expect ( greatestCommonFactor ( nums ) ) . toBe ( expected ) ;
29
+ } ,
30
+ ) ;
31
+
32
+ test ( "the list should consist of at least one number" , ( ) => {
33
+ expect ( ( ) => greatestCommonFactor ( [ ] ) ) . toThrowError (
34
+ "at least one number must be passed in" ,
35
+ ) ;
36
+ } ) ;
37
+ } ) ;
0 commit comments