Skip to content

Commit

Permalink
#12 implement TestSuite
Browse files Browse the repository at this point in the history
  • Loading branch information
kaiosilveira authored Mar 19, 2023
2 parents 47bf61b + 2ca814b commit 2ae5df8
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 13 deletions.
4 changes: 1 addition & 3 deletions src/test_case.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ def __init__(self, name) -> None:
def setUp(self) -> None:
pass

def run(self) -> None:
result = TestResult()
def run(self, result) -> None:
result.testStarted()

try:
Expand All @@ -26,7 +25,6 @@ def run(self) -> None:
result.testFailed()

self.tearDown()
return result

def tearDown(self) -> None:
pass
37 changes: 27 additions & 10 deletions src/test_case_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@
from was_run import WasRun
from test_result import TestResult
from broken_setup import TestCaseWithBrokenSetup
from test_suite import TestSuite


class TestCaseTest(TestCase):
def setUp(self) -> None:
self.result = TestResult()

def testTemplateMethod(self) -> None:
test = WasRun("testMethod")
result = test.run()
assert ("1 run, 0 failed" == result.summary())
test.run(self.result)
assert ("1 run, 0 failed" == self.result.summary())

def testFailedResult(self) -> None:
test = WasRun("testBrokenMethod")
result = test.run()
assert ("1 run, 1 failed" == result.summary())
test.run(self.result)
assert ("1 run, 1 failed" == self.result.summary())

def testFailedResultFormatting(self) -> None:
result = TestResult()
Expand All @@ -23,11 +27,24 @@ def testFailedResultFormatting(self) -> None:

def testFailedSetUp(self) -> None:
test = TestCaseWithBrokenSetup("testMethod")
result = test.run()
assert ("1 run, 1 failed" == result.summary())
test.run(self.result)
assert ("1 run, 1 failed" == self.result.summary())

def testSuite(self) -> None:
suite = TestSuite()
suite.add(WasRun("testMethod"))
suite.add(WasRun("testBrokenMethod"))
suite.run(self.result)
assert ("2 run, 1 failed" == self.result.summary())


suite = TestSuite()
suite.add(TestCaseTest("testTemplateMethod"))
suite.add(TestCaseTest("testFailedResultFormatting"))
suite.add(TestCaseTest("testFailedResult"))
suite.add(TestCaseTest("testFailedSetUp"))
suite.add(TestCaseTest("testSuite"))

print(TestCaseTest("testTemplateMethod").run().summary())
print(TestCaseTest("testFailedResultFormatting").run().summary())
print(TestCaseTest("testFailedResult").run().summary())
print(TestCaseTest("testFailedSetUp").run().summary())
result = TestResult()
suite.run(result)
print(result.summary())
13 changes: 13 additions & 0 deletions src/test_suite.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from test_result import TestResult


class TestSuite:
def __init__(self) -> None:
self.tests = []

def add(self, test) -> None:
self.tests.append(test)

def run(self, result) -> None:
for test in self.tests:
test.run(result)

0 comments on commit 2ae5df8

Please sign in to comment.