Skip to content

Commit c947491

Browse files
committed
Completed 3-get-card-value.js exercise
1 parent 52ca6f0 commit c947491

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,16 @@
88
// write one test at a time, and make it pass, build your solution up methodically
99
// just make one change at a time -- don't rush -- programmers are deep and careful thinkers
1010
function getCardValue(card) {
11+
const rank = card[0];
12+
1113
if (rank === "A") {
1214
return 11;
15+
} else if (["J", "Q", "K"].includes(rank)) {
16+
return 10;
17+
} else if (rank >= 2 || rank <= 10) {
18+
return Number(rank);
19+
} else {
20+
return "Invalid card rank.";
1321
}
1422
}
1523

@@ -39,19 +47,25 @@ assertEquals(aceofSpades, 11);
3947
// When the function is called with such a card,
4048
// Then it should return the numeric value corresponding to the rank (e.g., "5" should return 5).
4149
const fiveofHearts = getCardValue("5♥");
42-
// ====> write your test here, and then add a line to pass the test in the function above
50+
assertEquals(fiveofHearts, 5);
4351

4452
// Handle Face Cards (J, Q, K):
4553
// Given a card with a rank of "10," "J," "Q," or "K",
4654
// When the function is called with such a card,
4755
// Then it should return the value 10, as these cards are worth 10 points each in blackjack.
56+
const jackOfDiamonds = getCardValue("J♢");
57+
assertEquals(jackOfDiamonds, 10);
4858

4959
// Handle Ace (A):
5060
// Given a card with a rank of "A",
5161
// When the function is called with an Ace,
5262
// Then it should, by default, assume the Ace is worth 11 points, which is a common rule in blackjack.
63+
const ace = getCardValue("A");
64+
assertEquals(ace, 11);
5365

5466
// Handle Invalid Cards:
5567
// Given a card with an invalid rank (neither a number nor a recognized face card),
5668
// When the function is called with such a card,
5769
// Then it should throw an error indicating "Invalid card rank."
70+
const invalidRank = getCardValue("@");
71+
assertEquals(invalidRank, "Invalid card rank.");

0 commit comments

Comments
 (0)