-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathyield_test.py
72 lines (62 loc) · 1.94 KB
/
yield_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from __future__ import print_function
import unittest
def isequal(a, b):
assert a == b
def isnotequal(a, b):
assert a != b
def test_equal():
for k in range(3):
#yield isequal, k, k+1
yield isequal, k, k
#@unittest.expectedFailure
#def test_equal_fail():
# for k in range(3):
# yield isequal, k, k+1
def test_equal_desc():
for k in ('a', 'b', 'c'):
#f = lambda: isequal(k, k+'x')
f = lambda: isequal(k, k)
f.description = k
yield f
def test_equal_desc2():
for k in ('a', 'b', 'c'):
#yield "testing "+k, isequal, k, k+'x'
yield "test_"+k, isequal, k, k
@unittest.skip("we can use builtin unittest.skip")
def test_both():
for k in range(3):
for test in (isequal, isnotequal):
yield test.__name__, test, k, k
def build_suite():
class WidgetTest(unittest.TestCase):
def setUp(self):
self.widget = (30, 30)
@unittest.skip("testing skip")
def test_default_widget_size(self):
self.assertEqual(self.widget, (30, 30))
@unittest.expectedFailure
def test_fail(self):
self.assertEqual(1, 0, "broken")
@unittest.skip("comment out skip to show failure on success")
@unittest.expectedFailure
def test_dont_fail(self):
self.assertEqual(1, 1, "broken")
def test_widget_resize(self):
self.widget = (100, 150)
self.assertEqual(self.widget, (100, 150))
class MyTestCase(unittest.TestCase):
def test_add(self):
self.assertEqual(1+1, 2)
def addtests(suite, case):
for method in dir(case):
if method.startswith('test_'):
suite.addTest(case(method))
suite = unittest.TestSuite()
addtests(suite, WidgetTest)
addtests(suite, MyTestCase)
return suite
def test_suite():
yield build_suite()
def test_cases():
for test in build_suite():
yield test