GildedRose-Refactoring-Kata/Tennis/cpp/generate_tests.py

55 lines
2.4 KiB
Python

template = """\
TEST(TennisTest, %(testcase_name)s) {
EXPECT_EQ("%(score)s", tennis_score(%(p1Points)s, %(p2Points)s));
}
"""
test_cases = [dict(p1Points=0, p2Points=0, score="Love-All"),
dict(p1Points=1, p2Points=1, score="Fifteen-All"),
dict(p1Points=2, p2Points=2, score="Thirty-All"),
dict(p1Points=3, p2Points=3, score="Deuce"),
dict(p1Points=4, p2Points=4, score="Deuce"),
dict(p1Points=1, p2Points=0, score="Fifteen-Love"),
dict(p1Points=0, p2Points=1, score="Love-Fifteen"),
dict(p1Points=2, p2Points=0, score="Thirty-Love"),
dict(p1Points=0, p2Points=2, score="Love-Thirty"),
dict(p1Points=3, p2Points=0, score="Forty-Love"),
dict(p1Points=0, p2Points=3, score="Love-Forty"),
dict(p1Points=4, p2Points=0, score="Win for player1"),
dict(p1Points=0, p2Points=4, score="Win for player2"),
dict(p1Points=2, p2Points=1, score="Thirty-Fifteen"),
dict(p1Points=1, p2Points=2, score="Fifteen-Thirty"),
dict(p1Points=3, p2Points=1, score="Forty-Fifteen"),
dict(p1Points=1, p2Points=3, score="Fifteen-Forty"),
dict(p1Points=4, p2Points=1, score="Win for player1"),
dict(p1Points=1, p2Points=4, score="Win for player2"),
dict(p1Points=3, p2Points=2, score="Forty-Thirty"),
dict(p1Points=2, p2Points=3, score="Thirty-Forty"),
dict(p1Points=4, p2Points=2, score="Win for player1"),
dict(p1Points=2, p2Points=4, score="Win for player2"),
dict(p1Points=4, p2Points=3, score="Advantage player1"),
dict(p1Points=3, p2Points=4, score="Advantage player2"),
dict(p1Points=5, p2Points=4, score="Advantage player1"),
dict(p1Points=4, p2Points=5, score="Advantage player2"),
dict(p1Points=15, p2Points=14, score="Advantage player1"),
dict(p1Points=14, p2Points=15, score="Advantage player2"),
dict(p1Points=6, p2Points=4, score="Win for player1"),
dict(p1Points=4, p2Points=6, score="Win for player2"),
dict(p1Points=16, p2Points=14, score="Win for player1"),
dict(p1Points=14, p2Points=16, score="Win for player2"),
]
for test in test_cases:
cleaned = test["score"]
cleaned = cleaned.replace("-", "")
cleaned = cleaned.replace(" ", "")
test["cleaned"] = cleaned
test["testcase_name"] = "%(cleaned)s_%(p1Points)s_%(p2Points)s" % test
print template % test
print