-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests12_4.py
More file actions
64 lines (53 loc) · 1.99 KB
/
Copy pathtests12_4.py
File metadata and controls
64 lines (53 loc) · 1.99 KB
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
import logging
import unittest
from rt_with_exceptions import *
logging.basicConfig(
level=logging.INFO,
filename='runner_test.log',
filemode='w',
encoding='utf-8',
format='%(asctime)s\t%(levelname)s\t%(message)s'
)
class RunnerTest(unittest.TestCase):
is_frozen = False
def runTest(self):
self.test_walk()
self.test_run()
self.test_challenge()
@unittest.skipIf(is_frozen, 'Тесты в этом кейсе заморожены')
def test_walk(self):
try:
walker = Runner('Johnnie Walker', -1)
except:
logging.warning('Неверная скорость для Runner', exc_info=True)
else:
walker = Runner('Johnnie Walker', 5)
for i in range(10):
walker.walk()
self.assertEqual(walker.distance, 50)
logging.info('"test_walk" выполнен успешно')
@unittest.skipIf(is_frozen, 'Тесты в этом кейсе заморожены')
def test_run(self):
try:
runner = Runner(False)
except:
logging.warning('Неверный тип данных для объекта Runner', exc_info=True)
else:
runner = Runner('Forrest')
for i in range(10):
runner.run()
self.assertEqual(runner.distance, 100)
logging.info('"test_run" выполнен успешно')
@unittest.skipIf(is_frozen, 'Тесты в этом кейсе заморожены')
def test_challenge(self):
runner1 = Runner('Beavis')
runner2 = Runner('Butthead')
for i in range(10):
runner1.run()
runner2.walk()
self.assertNotEqual(runner1.distance, runner2.distance)
if __name__ == "__main__":
test_suite = unittest.TestSuite()
test_suite.addTest(unittest.TestLoader().loadTestsFromTestCase(RunnerTest))
test_runner = unittest.TextTestRunner(verbosity=2)
test_runner.run(test_suite)