This repository was archived by the owner on Apr 18, 2025. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 49
Expand file tree
/
Copy pathis-proper-fraction.js
More file actions
64 lines (60 loc) · 2.56 KB
/
is-proper-fraction.js
File metadata and controls
64 lines (60 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// You wil need to implement a function isProperFraction
// You need to write assertions for your function to check it works in different cases
// Terms:
// Fractions: https://www.bbc.co.uk/bitesize/topics/zt9n6g8/articles/zjxpp4j
// Written here like this: 1/2 == Numerator/Denominator
function isProperFraction(numerator, denominator) {
const fraction = numerator / denominator;
if (denominator === 0) {
return "Error (Denominator cannot be zero)";
} else if (
(fraction < 1 && fraction > 0) ||
(fraction > -1 && fraction < 0)
) {
return true;
} else {
return false;
}
}
// Acceptance criteria:
// Proper Fraction check:
// Input: numerator = 2, denominator = 3
// target output: true
// Explanation: The fraction 2/3 is a proper fraction, where the numerator is less than the denominator. The function should return true.
console.assert(
isProperFraction(2, 3) === true,
"proper fraction check failed, input 2, 3"
);
// Improper Fraction check:
// Input: numerator = 5, denominator = 2
// target output: false
// Explanation: The fraction 5/2 is an improper fraction, where the numerator is greater than or equal to the denominator. The function should return false.
console.assert(
isProperFraction(5, 2) === false,
"improper fraction check failed, input 5, 2"
);
// Zero Denominator check:
// Input: numerator = 3, denominator = 0
// No target output: Error (Denominator cannot be zero)
// Explanation: The function should throw an error when the denominator is zero, as it's not a valid fraction.
console.assert(
isProperFraction(3, 0) === "Error (Denominator cannot be zero)",
"zero dominator check failed, input 3, 0"
);
// Negative Fraction check:
// Input: numerator = -4, denominator = 7
// target output: true
// 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.
console.assert(
isProperFraction(-4, 7) === true,
"negative fraction check failed, input -4, 7"
);
// Equal Numerator and Denominator check:
// Input: numerator = 3, denominator = 3
// target output: false
// Explanation: The fraction 3/3 is not a proper fraction because the numerator is equal to the denominator. The function should return false.
console.assert(
isProperFraction(3, 3) === false,
"equal numerator and denominator check failed, input 3, 3"
);
// These acceptance criteria cover a range of scenarios to ensure that the isProperFraction function handles both proper and improper fractions correctly and handles potential errors such as a zero denominator.