Skip to content

Commit 8f148b8

Browse files
I wrote different test cases for the three functions.
1 parent 9f2ebc3 commit 8f148b8

File tree

3 files changed

+91
-5
lines changed

3 files changed

+91
-5
lines changed

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,35 @@ 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+
expect(getAngleType(90)).toEqual("Right angle");
19+
});
20+
1721
// Case 3: Obtuse angles
22+
test (`should return "Obtuse angle" when (90 < angle < 180)` ,() =>{
23+
24+
expect(getAngleType(95)).toEqual("Obtuse angle");
25+
expect(getAngleType(120)).toEqual("Obtuse angle");
26+
expect(getAngleType(100)).toEqual("Obtuse angle");
27+
});
28+
1829
// Case 4: Straight angle
30+
test (`should return "Straight angle" when ( angle === 180)` ,() =>{
31+
32+
expect(getAngleType(180)).toEqual("Straight angle");
33+
34+
});
1935
// Case 5: Reflex angles
36+
test (`should return "Reflex angle" when (180 < angle < 360)` ,() =>{
37+
38+
expect(getAngleType(190)).toEqual("Reflex angle");
39+
expect(getAngleType(300)).toEqual("Reflex angle");
40+
expect(getAngleType(200)).toEqual("Reflex angle");
41+
});
2042
// Case 6: Invalid angles
43+
test (`should return "Invalid angle" when (angle <= 0 or angle > 360)` ,() => {
44+
45+
expect(getAngleType(0)).toEqual("Invalid angle");
46+
expect(getAngleType(400)).toEqual("Invalid angle");
47+
expect(getAngleType(-10)).toEqual("Invalid angle");
48+
});

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

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,42 @@
22
// We will use the same function, but write tests for it using Jest in this file.
33
const isProperFraction = require("../implement/2-is-proper-fraction");
44

5-
// TODO: Write tests in Jest syntax to cover all combinations of positives, negatives, zeros, and other categories.
6-
7-
// Special case: numerator is zero
8-
test(`should return false when denominator is zero`, () => {
5+
// denominator is zero
6+
test("should return false when denominator is zero", () => {
97
expect(isProperFraction(1, 0)).toEqual(false);
108
});
9+
10+
// proper fraction (numerator < denominator)
11+
test("should return true when numerator < denominator", () => {
12+
expect(isProperFraction(1, 2)).toEqual(true);
13+
});
14+
15+
// improper fraction (numerator > denominator)
16+
test("should return false when numerator > denominator", () => {
17+
expect(isProperFraction(5, 3)).toEqual(false);
18+
});
19+
20+
// equal numbers
21+
test("should return false when numerator === denominator", () => {
22+
expect(isProperFraction(4, 4)).toEqual(false);
23+
});
24+
25+
// numerator is zero
26+
test("should return true when numerator is zero and denominator is positive", () => {
27+
expect(isProperFraction(0, 5)).toEqual(true);
28+
});
29+
30+
// negative numerator
31+
test("should return false when numerator is negative", () => {
32+
expect(isProperFraction(-2, 4)).toEqual(false);
33+
});
34+
35+
// negative denominator
36+
test("should return false when denominator is negative", () => {
37+
expect(isProperFraction(5, -4)).toEqual(false);
38+
});
39+
40+
// both negative
41+
test("should return false when both numerator and denominator are negative", () => {
42+
expect(isProperFraction(-3, -5)).toEqual(false);
43+
});

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

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

12+
13+
// Case 2: Number Cards (2–10)
14+
test("Should return the numeric value for number cards", () => {
15+
expect(getCardValue("2♠")).toEqual(2);
16+
expect(getCardValue("5♥")).toEqual(5);
17+
expect(getCardValue("9♦")).toEqual(9);
18+
expect(getCardValue("10♣")).toEqual(10);
19+
});
20+
21+
// Case 3: Face Cards (J, Q, K)
22+
test("Should return 10 for face cards", () => {
23+
expect(getCardValue("J♠")).toEqual(10);
24+
expect(getCardValue("Q♥")).toEqual(10);
25+
expect(getCardValue("K♦")).toEqual(10);
26+
});
27+
28+
// Case 4: Invalid Cards
29+
test("Should throw an error for invalid cards", () => {
30+
expect(() => getCardValue("1♠")).toThrowError();
31+
expect(() => getCardValue("B♣")).toThrowError();
32+
expect(() => getCardValue("10?")).toThrowError();
33+
expect(() => getCardValue("invalid")).toThrowError();
34+
});
35+
36+
37+
1238
// Suggestion: Group the remaining test data into these categories:
1339
// Number Cards (2-10)
1440
// Face Cards (J, Q, K)
@@ -17,4 +43,3 @@ test(`Should return 11 when given an ace card`, () => {
1743
// To learn how to test whether a function throws an error as expected in Jest,
1844
// please refer to the Jest documentation:
1945
// https://jestjs.io/docs/expect#tothrowerror
20-

0 commit comments

Comments
 (0)