Skip to content

Commit 9154abe

Browse files
committed
Added tests for:
letter for suite - incorrect Lower case - incorrect No input
1 parent 57ae03a commit 9154abe

3 files changed

Lines changed: 52 additions & 3 deletions

File tree

‎implement-and-rewrite-tests/implement-tests-with-node-test/3-get-card-value.test.js‎

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ test("Arbitrary non-card string", () => {
1818
});
1919

2020
// TODO: What other invalid card cases can you think of?
21-
//Incorrect suit
21+
//Incorrect suit as symbol
2222
test("Incorrect suit", () => {
2323
assert.throws(
2424
() => getCardValue("2☺"),
@@ -27,6 +27,15 @@ test("Incorrect suit", () => {
2727
);
2828
});
2929

30+
//Incorrect suit as letter
31+
test("Incorrect suit", () => {
32+
assert.throws(
33+
() => getCardValue("7l"),
34+
/Incorrect suit given/,
35+
"Incorrect suit"
36+
);
37+
});
38+
3039
//Incorrect card value to high
3140
test("Incorrect card number: High value", () => {
3241
assert.throws(
@@ -59,3 +68,21 @@ test("Incorrect card number: Letter", () => {
5968
"Incorrect card number given"
6069
);
6170
});
71+
72+
//Incorrect card value when lower case Royal
73+
test("Incorrect card number: lower case Royal", () => {
74+
assert.throws(
75+
() => getCardValue("k♦"),
76+
/Incorrect card number given/,
77+
"Incorrect card number given"
78+
);
79+
});
80+
81+
//Incorrect card value when lower case Ace
82+
test("Incorrect card number: lower case Ace", () => {
83+
assert.throws(
84+
() => getCardValue("a♦"),
85+
/Incorrect card number given/,
86+
"Incorrect card number given"
87+
);
88+
});

‎implement-and-rewrite-tests/implement/3-get-card-value.js‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@
2626
export function getCardValue(card) {
2727
// TODO: Implement this function
2828
if (card.length >= 4) {
29-
throw new Error(`expected a number followed by a suit, but got "invalid"`);
29+
throw new Error(`Expected a number followed by a suit, but got "invalid"`);
30+
} else if (card === "") {
31+
throw new Error("Input needed");
3032
}
3133

3234
let suit = card.slice(-1);
3335
let cardNumber = card.slice(0, -1);
3436
let value = Number(cardNumber);
35-
3637
if (!(suit === "♠" || suit === "♥" || suit === "♦" || suit === "♣")) {
3738
throw new Error("Incorrect suit given");
3839
} else if (cardNumber === "J" || cardNumber === "Q" || cardNumber === "K") {

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ test(`Should return 10 when given a J, Q, K`, () => {
2525
});
2626

2727
// Invalid Cards
28+
2829
test(`Should throw error 'expected a number followed by a suit, but got "invalid"' with invalid card`, () => {
2930
expect(() => getCardValue("120♥")).toThrow(
3031
new Error('expected a number followed by a suit, but got "invalid"')
@@ -41,6 +42,10 @@ test(`Should throw error "Incorrect suit given" when given wrong symbol"`, () =>
4142
expect(() => getCardValue("2☺")).toThrow(new Error("Incorrect suit given"));
4243
});
4344

45+
test(`Should throw error "Incorrect suit given" when given wrong letter"`, () => {
46+
expect(() => getCardValue("2K")).toThrow(new Error("Incorrect suit given"));
47+
});
48+
4449
test(`Should throw error "Incorrect card number given" when given wrong 2 digit number"`, () => {
4550
expect(() => getCardValue("25♠")).toThrow(
4651
new Error("Incorrect card number given")
@@ -53,6 +58,18 @@ test(`Should throw error "Incorrect card number given" when given negative numbe
5358
);
5459
});
5560

61+
test(`Should throw error "Incorrect card number given" when given a lower case Royal"`, () => {
62+
expect(() => getCardValue("k♠")).toThrow(
63+
new Error("Incorrect card number given")
64+
);
65+
});
66+
67+
test(`Should throw error "Incorrect card number given" when given a lower case Ace"`, () => {
68+
expect(() => getCardValue("a♠")).toThrow(
69+
new Error("Incorrect card number given")
70+
);
71+
});
72+
5673
test(`Should throw error "Incorrect card number given" when given a letter"`, () => {
5774
expect(() => getCardValue("I♠")).toThrow(
5875
new Error("Incorrect card number given")
@@ -64,3 +81,7 @@ test(`Should throw error "Incorrect card number given" when given symbol"`, () =
6481
new Error("Incorrect card number given")
6582
);
6683
});
84+
85+
test(`Should throw error "Input needed" if no imput given`, () => {
86+
expect(() => getCardValue("")).toThrow(new Error("Input needed"));
87+
});

0 commit comments

Comments
 (0)