Skip to content

Commit 80d0651

Browse files
committed
Implement getAngleType with assert and Jest tests
1 parent b31a586 commit 80d0651

2 files changed

Lines changed: 57 additions & 9 deletions

File tree

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

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,15 @@
1212

1313
// Acceptance criteria:
1414
// After you have implemented the function, write tests to cover all the cases, and
15-
// execute the code to ensure all tests pass.
15+
// execute the code to ensure all tests pass.Reflex
1616

1717
function getAngleType(angle) {
18-
// TODO: Implement this function
18+
if (angle > 0 && angle < 90) return "Acute angle";
19+
if (angle === 90) return "Right angle";
20+
if (angle > 90 && angle < 180) return "Obtuse angle";
21+
if (angle === 180) return "Straight angle";
22+
if (angle > 180 && angle < 360) return "Reflex angle";
23+
return "Invalid angle";
1924
}
2025

2126
// The line below allows us to load the getAngleType function into tests in other files.
@@ -33,5 +38,20 @@ function assertEquals(actualOutput, targetOutput) {
3338

3439
// TODO: Write tests to cover all cases, including boundary and invalid cases.
3540
// Example: Identify Right Angles
36-
const right = getAngleType(90);
37-
assertEquals(right, "Right angle");
41+
assertEquals(getAngleType(1), "Acute angle");
42+
assertEquals(getAngleType(45), "Acute angle");
43+
assertEquals(getAngleType(89), "Acute angle");
44+
assertEquals(getAngleType(90), "Right angle");
45+
assertEquals(getAngleType(91), "Obtuse angle");
46+
assertEquals(getAngleType(135), "Obtuse angle");
47+
assertEquals(getAngleType(179), "Obtuse angle");
48+
assertEquals(getAngleType(180), "Straight angle");
49+
assertEquals(getAngleType(181), "Reflex angle");
50+
assertEquals(getAngleType(269), "Reflex angle");
51+
assertEquals(getAngleType(270), "Reflex angle");
52+
assertEquals(getAngleType(271), "Reflex angle");
53+
assertEquals(getAngleType(359), "Reflex angle");
54+
assertEquals(getAngleType(360), "Invalid angle");
55+
assertEquals(getAngleType(0), "Invalid angle");
56+
assertEquals(getAngleType(-1), "Invalid angle");
57+
assertEquals(getAngleType(400), "Invalid angle");

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

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,39 @@ const getAngleType = require("../implement/1-get-angle-type");
66
// including boundary and invalid cases.
77

88
// Case 1: Acute angles
9-
test(`should return "Acute angle" when (0 < angle < 90)`, () => {
10-
// Test various acute angles, including boundary cases
11-
expect(getAngleType(1)).toEqual("Acute angle");
12-
expect(getAngleType(45)).toEqual("Acute angle");
13-
expect(getAngleType(89)).toEqual("Acute angle");
9+
describe("getAngleType", function () {
10+
test("Acute angles", function () {
11+
expect(getAngleType(1)).toEqual("Acute angle");
12+
expect(getAngleType(45)).toEqual("Acute angle");
13+
expect(getAngleType(89)).toEqual("Acute angle");
14+
});
15+
16+
test("Right angle", function () {
17+
expect(getAngleType(90)).toEqual("Right angle");
18+
});
19+
20+
test("Obtuse angles", function () {
21+
expect(getAngleType(91)).toEqual("Obtuse angle");
22+
expect(getAngleType(135)).toEqual("Obtuse angle");
23+
expect(getAngleType(179)).toEqual("Obtuse angle");
24+
});
25+
test("Straight angle", function () {
26+
expect(getAngleType(180)).toEqual("Straight angle");
27+
});
28+
29+
test("Reflex angles", function () {
30+
expect(getAngleType(181)).toEqual("Reflex angle");
31+
expect(getAngleType(269)).toEqual("Reflex angle");
32+
expect(getAngleType(270)).toEqual("Reflex angle");
33+
expect(getAngleType(271)).toEqual("Reflex angle");
34+
expect(getAngleType(359)).toEqual("Reflex angle");
35+
});
36+
test("Invalid angle", function () {
37+
expect(getAngleType(0)).toEqual("Invalid angle");
38+
expect(getAngleType(360)).toEqual("Invalid angle");
39+
expect(getAngleType(400)).toEqual("Invalid angle");
40+
expect(getAngleType(-1)).toEqual("Invalid angle");
41+
});
1442
});
1543

1644
// Case 2: Right angle

0 commit comments

Comments
 (0)