|
2 | 2 | // We will use the same function, but write tests for it using Jest in this file. |
3 | 3 | const getAngleType = require("../implement/1-get-angle-type"); |
4 | 4 |
|
5 | | -// TODO: Write tests in Jest syntax to cover all cases/outcomes, |
6 | | -// including boundary and invalid cases. |
7 | | - |
8 | 5 | // Case 1: Acute angles |
9 | 6 | test(`should return "Acute angle" when (0 < angle < 90)`, () => { |
10 | 7 | // Test various acute angles, including boundary cases |
11 | 8 | expect(getAngleType(1)).toEqual("Acute angle"); |
12 | 9 | expect(getAngleType(45)).toEqual("Acute angle"); |
13 | 10 | expect(getAngleType(89)).toEqual("Acute angle"); |
| 11 | + expect(getAngleType(91)).toEqual("Obtuse angle"); |
14 | 12 | }); |
15 | 13 |
|
16 | 14 | // 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 | + |
17 | 22 | // 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 | + |
18 | 30 | // 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 | + |
19 | 38 | // 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 | + |
20 | 45 | // 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