Skip to content

Commit 7217ad7

Browse files
author
Pretty Taruvinga
committed
fix: remove duplicate getAngleType function and ensure correct implementation
1 parent 5497cfe commit 7217ad7

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

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

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Implement a function getAngleType
2-
//
2+
33
// When given an angle in degrees, it should return a string indicating the type of angle:
44
// - "Acute angle" for angles greater than 0° and less than 90°
55
// - "Right angle" for exactly 90°
@@ -15,7 +15,22 @@
1515
// execute the code to ensure all tests pass.
1616

1717
function getAngleType(angle) {
18-
// TODO: Implement this function
18+
if (angle <= 0 || angle >= 360) {
19+
return "Invalid angle";
20+
}
21+
if (angle < 90) {
22+
return "Acute angle";
23+
}
24+
if (angle === 90) {
25+
return "Right angle";
26+
}
27+
if (angle < 180) {
28+
return "Obtuse angle";
29+
}
30+
if (angle === 180) {
31+
return "Straight angle";
32+
}
33+
return "Reflex angle";
1934
}
2035

2136
// The line below allows us to load the getAngleType function into tests in other files.

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,33 @@ test(`should return "Acute angle" when (0 < angle < 90)`, () => {
1414
});
1515

1616
// Case 2: Right angle
17+
test(`should return "Right angle" when angle is exactly 90`, () => {
18+
expect(getAngleType(90)).toEqual("Right angle");
19+
});
1720
// Case 3: Obtuse angles
21+
test(`should return "Obtuse angle" when (90 < angle < 180)`, () => {
22+
// Test various obtuse angles, including boundary cases
23+
expect(getAngleType(91)).toEqual("Obtuse angle");
24+
expect(getAngleType(135)).toEqual("Obtuse angle");
25+
expect(getAngleType(179)).toEqual("Obtuse angle");
26+
});
1827
// Case 4: Straight angle
28+
test(`should return "Straight angle" when angle is exactly 180`, () => {
29+
expect(getAngleType(180)).toEqual("Straight angle");
30+
});
1931
// Case 5: Reflex angles
32+
test(`should return "Reflex angle" when (180 < angle < 360)`, () => {
33+
// Test various reflex angles, including boundary cases
34+
expect(getAngleType(181)).toEqual("Reflex angle");
35+
expect(getAngleType(270)).toEqual("Reflex angle");
36+
expect(getAngleType(359)).toEqual("Reflex angle");
37+
});
2038
// Case 6: Invalid angles
39+
test('should return "Invalid angle" when angle is 0 or negative', () => {
40+
expect(getAngleType(0)).toEqual("Invalid angle");
41+
expect(getAngleType(-10)).toEqual("Invalid angle");
42+
});
43+
test('should return "Invalid angle" when angle is 360 or greater', () => {
44+
expect(getAngleType(360)).toEqual("Invalid angle");
45+
expect(getAngleType(400)).toEqual("Invalid angle");
46+
});

0 commit comments

Comments
 (0)