Skip to content

Commit ed40750

Browse files
committed
Editing isProoerFraction Code
1 parent 8738ad1 commit ed40750

File tree

1 file changed

+111
-2
lines changed

1 file changed

+111
-2
lines changed

Sprint-3/1-implement-and-rewrite-tests/implement/2-is-proper-fraction.js

Lines changed: 111 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
// write one test at a time, and make it pass, build your solution up methodically
99

1010
function isProperFraction(numerator, denominator) {
11-
if (numerator < denominator) {
12-
return true;
11+
if (denominator === 0) {
12+
return false;
1313
}
14+
return Math.abs(numerator) < Math.abs(denominator);
1415
}
1516

1617
// The line below allows us to load the isProperFraction function into tests in other files.
@@ -46,14 +47,122 @@ assertEquals(improperFraction, false);
4647
// target output: true
4748
// Explanation: The fraction -4/7 is a proper fraction because the absolute value of the numerator (4) is less than the denominator (7). The function should return true.
4849
const negativeFraction = isProperFraction(-4, 7);
50+
assertEquals(negativeFraction, true);
4951
// ====> complete with your assertion
5052

5153
// Equal Numerator and Denominator check:
5254
// Input: numerator = 3, denominator = 3
5355
// target output: false
5456
// Explanation: The fraction 3/3 is not a proper fraction because the numerator is equal to the denominator. The function should return false.
5557
const equalFraction = isProperFraction(3, 3);
58+
assertEquals(equalFraction, false);
5659
// ====> complete with your assertion
5760

5861
// Stretch:
5962
// What other scenarios could you test for?
63+
64+
// Zero Numerator check:
65+
const zeroNumerator = isProperFraction(0, 5);
66+
assertEquals(zeroNumerator, true);
67+
68+
// Negative Denominator check:
69+
const negativeDenominator = isProperFraction(2, -3);
70+
assertEquals(negativeDenominator, true);
71+
72+
// Both Negative check:
73+
const bothNegative = isProperFraction(-2, -5);
74+
assertEquals(bothNegative, true);
75+
76+
// Large Numbers check:
77+
const largeNumbers = isProperFraction(1000000, 1000001);
78+
assertEquals(largeNumbers, true);
79+
80+
let numerator = 2;
81+
let denominator = 2;
82+
console.log(
83+
numerator +
84+
"/" +
85+
denominator +
86+
" proper fraction output is " +
87+
isProperFraction(numerator, denominator)
88+
);
89+
90+
numerator = -3;
91+
denominator = 4;
92+
console.log(
93+
numerator +
94+
"/" +
95+
denominator +
96+
" proper fraction output is " +
97+
isProperFraction(numerator, denominator)
98+
);
99+
100+
numerator = 5;
101+
denominator = -6;
102+
console.log(
103+
numerator +
104+
"/" +
105+
denominator +
106+
" proper fraction output is " +
107+
isProperFraction(numerator, denominator)
108+
);
109+
110+
numerator = -7;
111+
denominator = -8;
112+
console.log(
113+
numerator +
114+
"/" +
115+
denominator +
116+
" proper fraction output is " +
117+
isProperFraction(numerator, denominator)
118+
);
119+
120+
numerator = 0;
121+
denominator = 1;
122+
console.log(
123+
numerator +
124+
"/" +
125+
denominator +
126+
" proper fraction output is " +
127+
isProperFraction(numerator, denominator)
128+
);
129+
130+
numerator = 10;
131+
denominator = 20;
132+
console.log(
133+
numerator +
134+
"/" +
135+
denominator +
136+
" proper fraction output is " +
137+
isProperFraction(numerator, denominator)
138+
);
139+
140+
numerator = 15;
141+
denominator = 10;
142+
console.log(
143+
numerator +
144+
"/" +
145+
denominator +
146+
" proper fraction output is " +
147+
isProperFraction(numerator, denominator)
148+
);
149+
150+
numerator = -25;
151+
denominator = 30;
152+
console.log(
153+
numerator +
154+
"/" +
155+
denominator +
156+
" proper fraction output is " +
157+
isProperFraction(numerator, denominator)
158+
);
159+
160+
numerator = 478356;
161+
denominator = 478357;
162+
console.log(
163+
numerator +
164+
"/" +
165+
denominator +
166+
" proper fraction output is " +
167+
isProperFraction(numerator, denominator)
168+
);

0 commit comments

Comments
 (0)