Skip to content

Commit d28e5ce

Browse files
committed
completed exercise 1-get-angle-type-test.js and 1-get-angle-type.js. Completed the invalid cases and completed the test using Jest
1 parent f67441c commit d28e5ce

File tree

2 files changed

+66
-8
lines changed

2 files changed

+66
-8
lines changed

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

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,28 @@
1515
// execute the code to ensure all tests pass.
1616

1717
function getAngleType(angle){
18-
if(angle < 90){
18+
if(angle >0 && angle <90){
1919
return "Acute angle";
2020
}
2121
if(angle === 90){
2222
return "Right angle";
2323
}
2424

25-
if(angle > 90 && angle< 180){
26-
return "Obtuse";
25+
if(angle >90 && angle <180){
26+
return "Obtuse angle";
2727
}
2828

2929
if(angle === 180){
3030
return "Straight angle";
3131
}
3232

33-
if(angle > 180 && angle <360){
33+
if(angle >180 && angle <360){
3434
return "Reflex angle";
3535
}
36-
return " Invalid angle found"
36+
return "Invalid angle found"
3737
}
3838

39+
3940
// TODO: Implement this function
4041

4142

@@ -56,3 +57,28 @@ function assertEquals(actualOutput, targetOutput) {
5657
// Example: Identify Right Angles
5758
const right = getAngleType(90);
5859
assertEquals(right, "Right angle");
60+
61+
const acute = getAngleType(60);
62+
assertEquals(acute, "Acute angle");
63+
64+
const obtuse = getAngleType(160);
65+
assertEquals(obtuse, "Obtuse angle");
66+
67+
const straight = getAngleType(180);
68+
assertEquals(straight, "Straight angle");
69+
70+
const reflex = getAngleType(275);
71+
assertEquals(reflex, "Reflex angle");
72+
// test invalid cases
73+
74+
const invalidAngleCase1 = getAngleType (0);
75+
assertEquals(invalidAngleCase1, "Invalid angle found");
76+
77+
const invalidAngleCase2 = getAngleType (-15);
78+
assertEquals(invalidAngleCase2, "Invalid angle found");
79+
80+
const invalidAngleCase3 = getAngleType (360);
81+
assertEquals(invalidAngleCase3, "Invalid angle found");
82+
83+
const invalidAngleCase4 = getAngleType (400);
84+
assertEquals(invalidAngleCase4, "Invalid angle found");

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

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,48 @@ const getAngleType = require("../implement/1-get-angle-type");
55
// TODO: Write tests in Jest syntax to cover all cases/outcomes,
66
// including boundary and invalid cases.
77

8+
// Test various acute angles, including boundary cases
89
// Case 1: Acute angles
9-
test(`should return "Acute angle" when (0 < angle < 90)`, () => {
10-
// Test various acute angles, including boundary cases
10+
// When angle is greater that 0 and less than 90
11+
test(`should return "Acute angle" when (angle >0 angle < 90)`, () => {
1112
expect(getAngleType(1)).toEqual("Acute angle");
1213
expect(getAngleType(45)).toEqual("Acute angle");
1314
expect(getAngleType(89)).toEqual("Acute angle");
1415
});
1516

16-
// Case 2: Right angle
17+
// Case 2: Right angles
18+
// When angle is 90
19+
test(`should return "Right angle" when (angle = 90)`, () => {
20+
expect(getAngleType(90)).toEqual("Right angle");
21+
});
22+
1723
// Case 3: Obtuse angles
24+
// When angle is greater that 90 and less than 180
25+
test(`should return "Obtuse angle" when (angle >90 & angle <180)`, () => {
26+
expect(getAngleType(91)).toEqual("Obtuse angle");
27+
expect(getAngleType(135)).toEqual("Obtuse angle");
28+
expect(getAngleType(179)).toEqual("Obtuse angle");
29+
});
30+
1831
// Case 4: Straight angle
32+
// When angle is 180
33+
test(`should return "Straight angle" when (angle = 180)`, () => {
34+
expect(getAngleType(180)).toEqual("Straight angle");
35+
});
36+
1937
// Case 5: Reflex angles
38+
// When angle is greater that 180 and less than 360
39+
test(`should return "Reflex angle" when (angle >180 & angle <360)`, () => {
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+
// When angle is equal to or less than 0 and is equal to or greater than 360
47+
test(`should return "Invalid angle found" when (angle <= 0 or angle >= 360)`, () => {
48+
expect(getAngleType(0)).toEqual("Invalid angle found");
49+
expect(getAngleType(-1)).toEqual("Invalid angle found");
50+
expect(getAngleType(360)).toEqual("Invalid angle found");
51+
expect(getAngleType(520)).toEqual("Invalid angle found");
52+
});

0 commit comments

Comments
 (0)