Skip to content

Commit 73862c5

Browse files
added test cases for angles
1 parent a979c91 commit 73862c5

File tree

2 files changed

+33
-4
lines changed

2 files changed

+33
-4
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ function getAngleType(angle) {
2525

2626
// The line below allows us to load the getAngleType function into tests in other files.
2727
// This will be useful in the "rewrite tests with jest" step.
28-
module.exports = getAngleType;
2928

29+
module.exports = getAngleType;
3030
// This helper function is written to make our assertions easier to read.
3131
// If the actual output matches the target output, the test will pass
3232
function assertEquals(actualOutput, targetOutput) {

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

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,48 @@
22
// We will use the same function, but write tests for it using Jest in this file.
33
const getAngleType = require("../implement/1-get-angle-type");
44

5-
// TODO: Write tests in Jest syntax to cover all cases/outcomes,
6-
// including boundary and invalid cases.
7-
85
// Case 1: Acute angles
96
test(`should return "Acute angle" when (0 < angle < 90)`, () => {
107
// Test various acute angles, including boundary cases
118
expect(getAngleType(1)).toEqual("Acute angle");
129
expect(getAngleType(45)).toEqual("Acute angle");
1310
expect(getAngleType(89)).toEqual("Acute angle");
11+
expect(getAngleType(91)).toEqual("Obtuse angle");
1412
});
1513

1614
// Case 2: Right angle
15+
test(`should return "Right angle" when (angle === 90)`, () => {
16+
// Test various right angles, including boundary cases
17+
expect(getAngleType(90)).toEqual("Right angle");
18+
expect(getAngleType(89)).toEqual("Acute angle");
19+
expect(getAngleType(91)).toEqual("Obtuse angle");
20+
});
21+
1722
// Case 3: Obtuse angles
23+
test(`should return "Obtuse angle" when (angle > 90) && when (angle < 180)`, () => {
24+
// Test various obtuse angles, including boundary cases
25+
expect(getAngleType(91)).toEqual("Obtuse angle");
26+
expect(getAngleType(150)).toEqual("Obtuse angle");
27+
expect(getAngleType(189)).toEqual("Reflex angle");
28+
});
29+
1830
// Case 4: Straight angle
31+
test(`should return "Straight angle" when (angle === 180)`, () => {
32+
// Test various straight angles, including boundary cases
33+
expect(getAngleType(180)).toEqual("Straight angle");
34+
expect(getAngleType(179)).toEqual("Obtuse angle");
35+
expect(getAngleType(181)).toEqual("Reflex angle");
36+
});
37+
1938
// Case 5: Reflex angles
39+
test(`should return "Reflex angle" when (angle > 180)`, () => {
40+
expect(getAngleType(181)).toEqual("Reflex angle");
41+
expect(getAngleType(270)).toEqual("Reflex angle");
42+
expect(getAngleType(359)).toEqual("Reflex angle");
43+
});
44+
2045
// Case 6: Invalid angles
46+
test(`should return "Invalid angle" when (angle < 0 || angle >= 360)`, () => {
47+
expect(getAngleType(-1)).toEqual("Invalid angle");
48+
expect(getAngleType(360)).toEqual("Invalid angle");
49+
});

0 commit comments

Comments
 (0)