generate test cases for cyber-dojo

This commit is contained in:
emilybache 2012-12-10 14:35:53 +01:00
parent 91630a3a34
commit 810ebd7d7e

View File

@ -1,9 +1,4 @@
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"),
@ -45,11 +40,39 @@ test_cases = [dict(p1Points=0, p2Points=0, score="Love-All"),
dict(p1Points=14, p2Points=16, score="Win for player2"),
]
for test in test_cases:
def create_testcase_dicts():
testcase_dicts = []
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
testcase_dicts.append(test)
return testcase_dicts
testcase_dicts = create_testcase_dicts()
gtest_template = """\
TEST(TennisTest, %(testcase_name)s) {
EXPECT_EQ("%(score)s", tennis_score(%(p1Points)s, %(p2Points)s));
}
"""
template = """\
void test_%(testcase_name)s()
{
assert("%(score)s" == tennis_score(%(p1Points)s, %(p2Points)s));
}
"""
# test cases
for test in testcase_dicts:
print template % test
print
# all_tests.cpp
for test in testcase_dicts:
print " test_%(testcase_name)s," % test
# all_tests.hpp
for test in testcase_dicts:
print "void test_%(testcase_name)s();" % test