From 810ebd7d7eb27fd838f8738da74630e63c47a4bb Mon Sep 17 00:00:00 2001 From: emilybache Date: Mon, 10 Dec 2012 14:35:53 +0100 Subject: [PATCH] generate test cases for cyber-dojo --- Tennis/cpp/generate_tests.py | 49 ++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/Tennis/cpp/generate_tests.py b/Tennis/cpp/generate_tests.py index 78dcb928..bd8975b2 100644 --- a/Tennis/cpp/generate_tests.py +++ b/Tennis/cpp/generate_tests.py @@ -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"), @@ -44,12 +39,40 @@ test_cases = [dict(p1Points=0, p2Points=0, score="Love-All"), 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 + +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 \ No newline at end of file + +# 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 \ No newline at end of file