Skip to content

Commit 954149a

Browse files
committed
completed angle type sprint work
1 parent c99c22e commit 954149a

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// Implement a function getAngleType
2+
// Build up your function case by case, writing tests as you go
3+
// Execute this script in your terminal with: node 1-get-angle-type.js
4+
5+
function getAngleType(angle) {
6+
if (angle === 90) {
7+
return "Right angle";
8+
} else if (angle < 90) {
9+
return "Acute angle";
10+
} else if (angle > 90 && angle < 180) {
11+
return "Obtuse angle";
12+
} else if (angle === 180) {
13+
return "Straight angle";
14+
} else if (angle > 180 && angle < 360) {
15+
return "Reflex angle";
16+
} else {
17+
return "Invalid angle";
18+
}
19+
}
20+
21+
// Allow testing in other files
22+
module.exports = getAngleType;
23+
24+
// Helper function for testing
25+
function assertEquals(actualOutput, targetOutput) {
26+
console.assert(
27+
actualOutput === targetOutput,
28+
`Expected ${actualOutput} to equal ${targetOutput}`
29+
);
30+
}
31+
32+
// Test Cases
33+
34+
// Case 1: Right Angle
35+
const right = getAngleType(90);
36+
assertEquals(right, "Right angle");
37+
38+
// Case 2: Acute Angle
39+
const acute = getAngleType(45);
40+
assertEquals(acute, "Acute angle");
41+
42+
// Case 3: Obtuse Angle
43+
const obtuse = getAngleType(120);
44+
assertEquals(obtuse, "Obtuse angle");
45+
46+
// Case 4: Straight Angle
47+
const straight = getAngleType(180);
48+
assertEquals(straight, "Straight angle");
49+
50+
// Case 5: Reflex Angle
51+
const reflex = getAngleType(270);
52+
assertEquals(reflex, "Reflex angle");
53+
54+
console.log("✅ All tests passed successfully!");

0 commit comments

Comments
 (0)