mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 12:22:12 +00:00
228 lines
4.0 KiB
C++
228 lines
4.0 KiB
C++
#include <gtest/gtest.h>
|
|
|
|
const std::string tennis_score(int p1Score, int p2Score) {
|
|
std::string score = "";
|
|
int tempScore=0;
|
|
if (p1Score==p2Score)
|
|
{
|
|
switch (p1Score)
|
|
{
|
|
case 0:
|
|
score = "Love-All";
|
|
break;
|
|
case 1:
|
|
score = "Fifteen-All";
|
|
break;
|
|
case 2:
|
|
score = "Thirty-All";
|
|
break;
|
|
case 3:
|
|
score = "Deuce";
|
|
break;
|
|
default:
|
|
score = "Deuce";
|
|
break;
|
|
|
|
}
|
|
}
|
|
else if (p1Score>=4 || p2Score>=4)
|
|
{
|
|
int minusResult = p1Score-p2Score;
|
|
if (minusResult==1) score ="Advantage player1";
|
|
else if (minusResult ==-1) score ="Advantage player2";
|
|
else if (minusResult>=2) score = "Win for player1";
|
|
else score ="Win for player2";
|
|
}
|
|
else
|
|
{
|
|
for (int i=1; i<3; i++)
|
|
{
|
|
if (i==1) tempScore = p1Score;
|
|
else { score+="-"; tempScore = p2Score;}
|
|
switch(tempScore)
|
|
{
|
|
case 0:
|
|
score+="Love";
|
|
break;
|
|
case 1:
|
|
score+="Fifteen";
|
|
break;
|
|
case 2:
|
|
score+="Thirty";
|
|
break;
|
|
case 3:
|
|
score+="Forty";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return score;
|
|
|
|
}
|
|
|
|
TEST(TennisTest, LoveAll_0_0) {
|
|
EXPECT_EQ("Love-All", tennis_score(0, 0));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FifteenAll_1_1) {
|
|
EXPECT_EQ("Fifteen-All", tennis_score(1, 1));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, ThirtyAll_2_2) {
|
|
EXPECT_EQ("Thirty-All", tennis_score(2, 2));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Deuce_3_3) {
|
|
EXPECT_EQ("Deuce", tennis_score(3, 3));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Deuce_4_4) {
|
|
EXPECT_EQ("Deuce", tennis_score(4, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FifteenLove_1_0) {
|
|
EXPECT_EQ("Fifteen-Love", tennis_score(1, 0));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, LoveFifteen_0_1) {
|
|
EXPECT_EQ("Love-Fifteen", tennis_score(0, 1));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, ThirtyLove_2_0) {
|
|
EXPECT_EQ("Thirty-Love", tennis_score(2, 0));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, LoveThirty_0_2) {
|
|
EXPECT_EQ("Love-Thirty", tennis_score(0, 2));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FortyLove_3_0) {
|
|
EXPECT_EQ("Forty-Love", tennis_score(3, 0));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, LoveForty_0_3) {
|
|
EXPECT_EQ("Love-Forty", tennis_score(0, 3));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer1_4_0) {
|
|
EXPECT_EQ("Win for player1", tennis_score(4, 0));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer2_0_4) {
|
|
EXPECT_EQ("Win for player2", tennis_score(0, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, ThirtyFifteen_2_1) {
|
|
EXPECT_EQ("Thirty-Fifteen", tennis_score(2, 1));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FifteenThirty_1_2) {
|
|
EXPECT_EQ("Fifteen-Thirty", tennis_score(1, 2));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FortyFifteen_3_1) {
|
|
EXPECT_EQ("Forty-Fifteen", tennis_score(3, 1));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FifteenForty_1_3) {
|
|
EXPECT_EQ("Fifteen-Forty", tennis_score(1, 3));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer1_4_1) {
|
|
EXPECT_EQ("Win for player1", tennis_score(4, 1));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer2_1_4) {
|
|
EXPECT_EQ("Win for player2", tennis_score(1, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, FortyThirty_3_2) {
|
|
EXPECT_EQ("Forty-Thirty", tennis_score(3, 2));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, ThirtyForty_2_3) {
|
|
EXPECT_EQ("Thirty-Forty", tennis_score(2, 3));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer1_4_2) {
|
|
EXPECT_EQ("Win for player1", tennis_score(4, 2));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer2_2_4) {
|
|
EXPECT_EQ("Win for player2", tennis_score(2, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Advantageplayer1_4_3) {
|
|
EXPECT_EQ("Advantage player1", tennis_score(4, 3));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Advantageplayer2_3_4) {
|
|
EXPECT_EQ("Advantage player2", tennis_score(3, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Advantageplayer1_5_4) {
|
|
EXPECT_EQ("Advantage player1", tennis_score(5, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Advantageplayer2_4_5) {
|
|
EXPECT_EQ("Advantage player2", tennis_score(4, 5));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Advantageplayer1_15_14) {
|
|
EXPECT_EQ("Advantage player1", tennis_score(15, 14));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Advantageplayer2_14_15) {
|
|
EXPECT_EQ("Advantage player2", tennis_score(14, 15));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer1_6_4) {
|
|
EXPECT_EQ("Win for player1", tennis_score(6, 4));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer2_4_6) {
|
|
EXPECT_EQ("Win for player2", tennis_score(4, 6));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer1_16_14) {
|
|
EXPECT_EQ("Win for player1", tennis_score(16, 14));
|
|
}
|
|
|
|
|
|
TEST(TennisTest, Winforplayer2_14_16) {
|
|
EXPECT_EQ("Win for player2", tennis_score(14, 16));
|
|
}
|
|
|
|
|