-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
37 lines (28 loc) · 1.23 KB
/
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
import unittest
from HelloWorld.challenge import HelloWorldChallenge
class HelloWorldTest(unittest.TestCase):
def setUp(self):
self.challenge = HelloWorldChallenge()
def test__init__(self):
self.assertIsInstance(self.challenge, HelloWorldChallenge)
self.assertIn('WorldHello', self.challenge.sample)
self.assertIn('Hello World', self.challenge.expect)
def test_build(self):
self.challenge.read()
self.challenge.build()
self.assertEqual(5, self.challenge.model.split_at)
self.assertEqual('WorldHello', self.challenge.model.word)
def test_calc(self):
self.challenge.model.split_at = 5
self.challenge.model.word = 'WorldHello'
self.challenge.calc()
self.assertEqual('Hello World', self.challenge.result.word)
self.assertEqual(11, self.challenge.result.length)
def test_format(self):
self.challenge.result.word = 'Hello World'
self.challenge.result.length = 11
self.challenge.format()
self.assertEqual(self.challenge.expectation(), self.challenge.output)
def test_full_integration(self):
self.challenge.main()
self.assertEqual(self.challenge.expectation(), self.challenge.output)