Skip to content

Commit fe32f50

Browse files
committed
Add tests for angle classification and card value handling
1 parent 850c212 commit fe32f50

File tree

3 files changed

+74
-1
lines changed

3 files changed

+74
-1
lines changed

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

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

1616
// Case 2: Right angle
17+
test(`should return "Right angle" when (angle === 90)`, () => {
18+
// Test right angle
19+
expect(getAngleType(90)).toEqual("Right angle");
20+
});
21+
1722
// Case 3: Obtuse angles
23+
test(`should return "Obtuse angle" when (90 < angle < 180)`, () => {
24+
// Test various obtuse angles, including boundary cases
25+
expect(getAngleType(91)).toEqual("Obtuse angle");
26+
expect(getAngleType(135)).toEqual("Obtuse angle");
27+
expect(getAngleType(179)).toEqual("Obtuse angle");
28+
});
29+
1830
// Case 4: Straight angle
31+
test(`should return "Straight angle" when (angle === 180)`, () => {
32+
// Test straight angle
33+
expect(getAngleType(180)).toEqual("Straight angle");
34+
});
35+
1936
// Case 5: Reflex angles
37+
test(`should return "Reflex angle" when (180 < angle < 360)`, () => {
38+
// Test various reflex angles, including boundary cases
39+
expect(getAngleType(181)).toEqual("Reflex angle");
40+
expect(getAngleType(270)).toEqual("Reflex angle");
41+
expect(getAngleType(359)).toEqual("Reflex angle");
42+
});
43+
2044
// Case 6: Invalid angles
45+
test(`should return "Invalid angle" when (angle <= 0 or angle >= 360)`, () => {
46+
// Test various invalid angles, including boundary cases
47+
expect(getAngleType(-1)).toEqual("Invalid angle");
48+
expect(getAngleType(0)).toEqual("Invalid angle");
49+
expect(getAngleType(360)).toEqual("Invalid angle");
50+
expect(getAngleType(361)).toEqual("Invalid angle");
51+
});

Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/2-is-proper-fraction.test.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,20 @@ const isProperFraction = require("../implement/2-is-proper-fraction");
77
// Special case: numerator is zero
88
test(`should return false when denominator is zero`, () => {
99
expect(isProperFraction(1, 0)).toEqual(false);
10+
expect(isProperFraction(-1, 0)).toEqual(false);
11+
expect(isProperFraction(0, 0)).toEqual(false);
12+
});
13+
14+
test(`should return true for valid proper fractions for negatives`, () => {
15+
expect(isProperFraction(1, 2)).toEqual(true);
16+
expect(isProperFraction(-1, 2)).toEqual(true);
17+
expect(isProperFraction(1, -2)).toEqual(true);
18+
expect(isProperFraction(-1, -2)).toEqual(true);
19+
});
20+
21+
test(`should return false when denominator is zero`, () => {
22+
expect(isProperFraction(-1, 0)).toEqual(false);
23+
expect(isProperFraction(2, 1)).toBe(false);
24+
expect(isProperFraction(-2, 1)).toBe(false);
25+
expect(isProperFraction(2, 2)).toBe(false);
1026
});

Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/3-get-card-value.test.js

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,33 @@ test(`Should return 11 when given an ace card`, () => {
99
expect(getCardValue("A♠")).toEqual(11);
1010
});
1111

12+
// Case 2: Face Cards (J, Q, K)
13+
test(`Should return 10 for Face Cards`, () => {
14+
expect(getCardValue("J♠")).toEqual(10);
15+
expect(getCardValue("Q♠")).toEqual(10);
16+
expect(getCardValue("K♠")).toEqual(10);
17+
});
18+
19+
// Case 3: Number Cards (2-10)
20+
test(`Should return the numeric value for Number Cards`, () => {
21+
expect(getCardValue("2♠")).toEqual(2);
22+
expect(getCardValue("3♠")).toEqual(3);
23+
expect(getCardValue("4♠")).toEqual(4);
24+
expect(getCardValue("5♠")).toEqual(5);
25+
expect(getCardValue("6♠")).toEqual(6);
26+
expect(getCardValue("7♠")).toEqual(7);
27+
expect(getCardValue("8♠")).toEqual(8);
28+
expect(getCardValue("9♠")).toEqual(9);
29+
expect(getCardValue("10♠")).toEqual(10);
30+
});
31+
32+
// Handling invalid cards
33+
test(`Should throw an error for invalid cards`, () => {
34+
expect(() => getCardValue("invalid")).toThrow();
35+
expect(() => getCardValue("AinvalidSuit")).toThrow();
36+
expect(() => getCardValue("InvalidRank♠")).toThrow();
37+
});
38+
1239
// Suggestion: Group the remaining test data into these categories:
1340
// Number Cards (2-10)
1441
// Face Cards (J, Q, K)
@@ -17,4 +44,3 @@ test(`Should return 11 when given an ace card`, () => {
1744
// To learn how to test whether a function throws an error as expected in Jest,
1845
// please refer to the Jest documentation:
1946
// https://jestjs.io/docs/expect#tothrowerror
20-

0 commit comments

Comments
 (0)