-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.py
executable file
·78 lines (67 loc) · 3.05 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
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
73
74
75
76
77
78
#!/usr/bin/env python
from unittest import TestCase, TestLoader, TextTestRunner
import test_vars
import qrfactory
class TestQRFactoryMethods(TestCase):
def test_build_logo(self):
'''Test ouput with only logo data'''
qr = qrfactory.QRFactory()
qr.build_logo(test_vars.logo)
self.assertEqual(None, qr.output_qr()) # no ouput if only a logo input
def test_build_qr(self):
'''Test output with only qr data'''
qr = qrfactory.QRFactory()
qr.build_qrcode("asdfasdfas", "red", "yellow", 5)
breakpoint()
self.assertEqual(test_vars.test_qr_full, qr.output_qr())
def test_logo_first(self):
'''Test with inputting logo first'''
qr = qrfactory.QRFactory()
qr.build_logo(test_vars.logo)
qr.build_qrcode("asdfasdfas")
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
def test_qr_first(self):
'''Test with inputing qr data first'''
qr = qrfactory.QRFactory()
qr.build_qrcode("asdfasdfas")
qr.build_logo(test_vars.logo)
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
def test_data_on_instantiation(self):
'''Test with inputing data with instantiation of object'''
qr = qrfactory.QRFactory(test_vars.logo, "asdfasdfas", "red", "yellow", 5)
self.assertEqual(test_vars.test_qr_and_logo_full, qr.output_qr())
def test_overwritten_logo(self):
'''Test Overwritting logo'''
qr = qrfactory.QRFactory()
qr.build_logo(test_vars.alt_logo)
qr.build_qrcode("asdfasdfas")
qr.build_logo(test_vars.logo)
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
def test_overwritten_qr(self):
'''Test Overwritting qr data'''
qr = qrfactory.QRFactory()
qr.build_qrcode("qwerqwerrweqrqwer")
qr.build_logo(test_vars.logo)
qr.build_qrcode("asdfasdfas")
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
def test_multiple_outputs_inputs(self):
'''Test that multiple outputs and inputs don't change the result'''
# Maybe went overboard with this one because of bug in svgutils -_-
qr = qrfactory.QRFactory()
qr.build_logo(test_vars.logo)
qr.build_qrcode("asdfasdfas")
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
qr.build_qrcode("asdfasdfas")
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
qr.build_logo(test_vars.logo)
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
qr.build_qrcode("asdfasdfas")
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
qr.build_logo(test_vars.logo)
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
qr.build_logo(test_vars.logo)
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
self.assertEqual(test_vars.test_qr_and_logo, qr.output_qr())
if __name__ == '__main__':
suite = TestLoader().loadTestsFromTestCase(TestQRFactoryMethods)
TextTestRunner().run(suite)