Skip to content

Commit 73c3708

Browse files
committed
Implemented getCardValue function
1 parent d1ee1f0 commit 73c3708

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

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

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,44 @@
2323

2424
function getCardValue(card) {
2525
// TODO: Implement this function
26+
if (card === "A♠" || card === "A♥" || card === "A♦" || card === "A♣") {
27+
return 11;
28+
}
29+
else if (card === "J♠" || card === "J♥" || card === "J♦" || card === "J♣" ||
30+
card === "Q♠" || card === "Q♥" || card === "Q♦" || card === "Q♣" ||
31+
card === "K♠" || card === "K♥" || card === "K♦" || card === "K♣") {
32+
return 10;
33+
}
34+
else if (card === "2♠" || card === "2♥" || card === "2♦" || card === "2♣") {
35+
return 2;
36+
}
37+
else if (card === "3♠" || card === "3♥" || card === "3♦" || card === "3♣") {
38+
return 3;
39+
}
40+
else if (card === "4♠" || card === "4♥" || card === "4♦" || card === "4♣") {
41+
return 4;
42+
}
43+
else if (card === "5♠" || card === "5♥" || card === "5♦" || card === "5♣") {
44+
return 5;
45+
}
46+
else if (card === "6♠" || card === "6♥" || card === "6♦" || card === "6♣") {
47+
return 6;
48+
}
49+
else if (card === "7♠" || card === "7♥" || card === "7♦" || card === "7♣") {
50+
return 7;
51+
}
52+
else if (card === "8♠" || card === "8♥" || card === "8♦" || card === "8♣") {
53+
return 8;
54+
}
55+
else if (card === "9♠" || card === "9♥" || card === "9♦" || card === "9♣") {
56+
return 9;
57+
}
58+
else if (card === "10♠" || card === "10♥" || card === "10♦" || card === "10♣") {
59+
return 10;
60+
}
61+
else {
62+
throw new Error("Invalid card");
63+
}
2664
}
2765

2866
// The line below allows us to load the getCardValue function into tests in other files.
@@ -40,6 +78,9 @@ function assertEquals(actualOutput, targetOutput) {
4078
// TODO: Write tests to cover all outcomes, including throwing errors for invalid cards.
4179
// Examples:
4280
assertEquals(getCardValue("9♠"), 9);
81+
assertEquals(getCardValue("A♥"), 11);
82+
assertEquals(getCardValue("J♦"), 10);
83+
assertEquals(getCardValue("10♣"), 10);
4384

4485
// Handling invalid cards
4586
try {
@@ -50,3 +91,7 @@ try {
5091
} catch (e) {}
5192

5293
// What other invalid card cases can you think of?
94+
try {
95+
getCardValue("1♠");
96+
console.error("Error was not thrown for invalid card");}
97+
catch (e) {}

0 commit comments

Comments
 (0)