1212
1313function isProperFraction ( numerator , denominator ) {
1414 // TODO: Implement this function
15+ if ( denominator === 0 ) return false ;
16+ if ( denominator < 0 ) return false ;
17+
18+ return Math . abs ( numerator ) < denominator ;
1519}
1620
1721// The line below allows us to load the isProperFraction function into tests in other files.
@@ -31,3 +35,24 @@ function assertEquals(actualOutput, targetOutput) {
3135
3236// Example: 1/2 is a proper fraction
3337assertEquals ( isProperFraction ( 1 , 2 ) , true ) ;
38+
39+ // Improper fractions (numerator > denominator)
40+ assertEquals ( isProperFraction ( 2 , 1 ) , false ) ;
41+ assertEquals ( isProperFraction ( 5 , 4 ) , false ) ;
42+
43+ // Equal numerator/denominator is not proper
44+ assertEquals ( isProperFraction ( 5 , 5 ) , false ) ;
45+
46+ // Zero numerator:
47+ assertEquals ( isProperFraction ( 0 , 3 ) , true ) ;
48+
49+ // Negative numerator:
50+ assertEquals ( isProperFraction ( - 1 , 2 ) , true ) ;
51+ assertEquals ( isProperFraction ( - 3 , 2 ) , false ) ;
52+
53+ // Denominator edge cases
54+ assertEquals ( isProperFraction ( 1 , 0 ) , false ) ;
55+ assertEquals ( isProperFraction ( 1 , - 2 ) , false ) ;
56+ assertEquals ( isProperFraction ( - 1 , - 2 ) , false ) ;
57+
58+ console . log ( "All tests passed!" )
0 commit comments