Skip to content

Commit c66e7d4

Browse files
committed
Implement getAngleType and add assertion tests
1 parent 3372770 commit c66e7d4

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

Sprint-3/1-implement-and-rewrite-tests/implement/1-get-angle-type.js

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,35 @@
1515
// execute the code to ensure all tests pass.
1616

1717
function getAngleType(angle) {
18-
// TODO: Implement this function
18+
// Check invalid angles first
19+
if (angle <= 0 || angle >= 360) {
20+
return "Invalid angle";
21+
}
22+
23+
// Acute angle
24+
if (angle > 0 && angle < 90) {
25+
return "Acute angle";
26+
}
27+
28+
// Right angle
29+
if (angle === 90) {
30+
return "Right angle";
31+
}
32+
33+
// Obtuse angle
34+
if (angle > 90 && angle < 180) {
35+
return "Obtuse angle";
36+
}
37+
38+
// Straight angle
39+
if (angle === 180) {
40+
return "Straight angle";
41+
}
42+
43+
// Reflex angle
44+
if (angle > 180 && angle < 360) {
45+
return "Reflex angle";
46+
}
1947
}
2048

2149
// The line below allows us to load the getAngleType function into tests in other files.
@@ -35,3 +63,23 @@ function assertEquals(actualOutput, targetOutput) {
3563
// Example: Identify Right Angles
3664
const right = getAngleType(90);
3765
assertEquals(right, "Right angle");
66+
67+
// Acute angle tests
68+
assertEquals(getAngleType(30), "Acute angle");
69+
assertEquals(getAngleType(1), "Acute angle");
70+
71+
// Obtuse angle tests
72+
assertEquals(getAngleType(120), "Obtuse angle");
73+
assertEquals(getAngleType(179), "Obtuse angle");
74+
75+
// Straight angle test
76+
assertEquals(getAngleType(180), "Straight angle");
77+
78+
// Reflex angle tests
79+
assertEquals(getAngleType(270), "Reflex angle");
80+
assertEquals(getAngleType(359), "Reflex angle");
81+
82+
// Invalid angle tests
83+
assertEquals(getAngleType(0), "Invalid angle");
84+
assertEquals(getAngleType(360), "Invalid angle");
85+
assertEquals(getAngleType(-20), "Invalid angle");

0 commit comments

Comments
 (0)