Skip to content

Commit 6ddd6df

Browse files
committed
Rewrite assertions to regular/pytest style
1 parent da16f4a commit 6ddd6df

File tree

4 files changed

+68
-72
lines changed

4 files changed

+68
-72
lines changed

qrcode/tests/test_qrcode.py

Lines changed: 51 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import pytest
12
import io
23
import unittest
34
from unittest import mock
@@ -22,15 +23,18 @@ def test_large(self):
2223
qr.make(fit=False)
2324

2425
def test_invalid_version(self):
25-
self.assertRaises(ValueError, qrcode.QRCode, version=41)
26+
with pytest.raises(ValueError):
27+
qrcode.QRCode(version=42)
2628

2729
def test_invalid_border(self):
28-
self.assertRaises(ValueError, qrcode.QRCode, border=-1)
30+
with pytest.raises(ValueError):
31+
qrcode.QRCode(border=-1)
2932

3033
def test_overflow(self):
3134
qr = qrcode.QRCode(version=1)
3235
qr.add_data("abcdefghijklmno")
33-
self.assertRaises(DataOverflowError, qr.make, fit=False)
36+
with pytest.raises(DataOverflowError):
37+
qr.make(fit=False)
3438

3539
def test_add_qrdata(self):
3640
qr = qrcode.QRCode(version=1)
@@ -42,71 +46,71 @@ def test_fit(self):
4246
qr = qrcode.QRCode()
4347
qr.add_data("a")
4448
qr.make()
45-
self.assertEqual(qr.version, 1)
49+
assert qr.version == 1
4650
qr.add_data("bcdefghijklmno")
4751
qr.make()
48-
self.assertEqual(qr.version, 2)
52+
assert qr.version == 2
4953

5054
def test_mode_number(self):
5155
qr = qrcode.QRCode()
5256
qr.add_data("1234567890123456789012345678901234", optimize=0)
5357
qr.make()
54-
self.assertEqual(qr.version, 1)
55-
self.assertEqual(qr.data_list[0].mode, MODE_NUMBER)
58+
assert qr.version == 1
59+
assert qr.data_list[0].mode == MODE_NUMBER
5660

5761
def test_mode_alpha(self):
5862
qr = qrcode.QRCode()
5963
qr.add_data("ABCDEFGHIJ1234567890", optimize=0)
6064
qr.make()
61-
self.assertEqual(qr.version, 1)
62-
self.assertEqual(qr.data_list[0].mode, MODE_ALPHA_NUM)
65+
assert qr.version == 1
66+
assert qr.data_list[0].mode == MODE_ALPHA_NUM
6367

6468
def test_regression_mode_comma(self):
6569
qr = qrcode.QRCode()
6670
qr.add_data(",", optimize=0)
6771
qr.make()
68-
self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE)
72+
assert qr.data_list[0].mode == MODE_8BIT_BYTE
6973

7074
def test_mode_8bit(self):
7175
qr = qrcode.QRCode()
7276
qr.add_data("abcABC" + UNICODE_TEXT, optimize=0)
7377
qr.make()
74-
self.assertEqual(qr.version, 1)
75-
self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE)
78+
assert qr.version == 1
79+
assert qr.data_list[0].mode == MODE_8BIT_BYTE
7680

7781
def test_mode_8bit_newline(self):
7882
qr = qrcode.QRCode()
7983
qr.add_data("ABCDEFGHIJ1234567890\n", optimize=0)
8084
qr.make()
81-
self.assertEqual(qr.data_list[0].mode, MODE_8BIT_BYTE)
85+
assert qr.data_list[0].mode == MODE_8BIT_BYTE
8286

8387
def test_make_image_with_wrong_pattern(self):
84-
with self.assertRaises(TypeError):
88+
with pytest.raises(TypeError):
8589
qrcode.QRCode(mask_pattern="string pattern")
8690

87-
with self.assertRaises(ValueError):
91+
with pytest.raises(ValueError):
8892
qrcode.QRCode(mask_pattern=-1)
8993

90-
with self.assertRaises(ValueError):
94+
with pytest.raises(ValueError):
9195
qrcode.QRCode(mask_pattern=42)
9296

9397
def test_mask_pattern_setter(self):
9498
qr = qrcode.QRCode()
9599

96-
with self.assertRaises(TypeError):
100+
with pytest.raises(TypeError):
97101
qr.mask_pattern = "string pattern"
98102

99-
with self.assertRaises(ValueError):
103+
with pytest.raises(ValueError):
100104
qr.mask_pattern = -1
101105

102-
with self.assertRaises(ValueError):
106+
with pytest.raises(ValueError):
103107
qr.mask_pattern = 8
104108

105109
def test_qrcode_bad_factory(self):
106-
with self.assertRaises(TypeError):
110+
with pytest.raises(TypeError):
107111
qrcode.QRCode(image_factory="not_BaseImage") # type: ignore
108112

109-
with self.assertRaises(AssertionError):
113+
with pytest.raises(AssertionError):
110114
qrcode.QRCode(image_factory=dict) # type: ignore
111115

112116
def test_qrcode_factory(self):
@@ -117,69 +121,58 @@ class MockFactory(BaseImage):
117121
qr = qrcode.QRCode(image_factory=MockFactory)
118122
qr.add_data(UNICODE_TEXT)
119123
qr.make_image()
120-
self.assertTrue(MockFactory.new_image.called)
121-
self.assertTrue(MockFactory.drawrect.called)
124+
assert MockFactory.new_image.called
125+
assert MockFactory.drawrect.called
122126

123127
def test_optimize(self):
124128
qr = qrcode.QRCode()
125129
text = "A1abc12345def1HELLOa"
126130
qr.add_data(text, optimize=4)
127131
qr.make()
128-
self.assertEqual(
129-
[d.mode for d in qr.data_list],
130-
[
131-
MODE_8BIT_BYTE,
132-
MODE_NUMBER,
133-
MODE_8BIT_BYTE,
134-
MODE_ALPHA_NUM,
135-
MODE_8BIT_BYTE,
136-
],
137-
)
138-
self.assertEqual(qr.version, 2)
132+
assert [d.mode for d in qr.data_list] == [MODE_8BIT_BYTE, MODE_NUMBER, MODE_8BIT_BYTE, MODE_ALPHA_NUM, MODE_8BIT_BYTE]
133+
assert qr.version == 2
139134

140135
def test_optimize_short(self):
141136
qr = qrcode.QRCode()
142137
text = "A1abc1234567def1HELLOa"
143138
qr.add_data(text, optimize=7)
144139
qr.make()
145-
self.assertEqual(len(qr.data_list), 3)
146-
self.assertEqual(
147-
[d.mode for d in qr.data_list],
148-
[MODE_8BIT_BYTE, MODE_NUMBER, MODE_8BIT_BYTE],
149-
)
150-
self.assertEqual(qr.version, 2)
140+
assert len(qr.data_list) == 3
141+
assert [d.mode for d in qr.data_list] == [MODE_8BIT_BYTE, MODE_NUMBER, MODE_8BIT_BYTE]
142+
assert qr.version == 2
151143

152144
def test_optimize_longer_than_data(self):
153145
qr = qrcode.QRCode()
154146
text = "ABCDEFGHIJK"
155147
qr.add_data(text, optimize=12)
156-
self.assertEqual(len(qr.data_list), 1)
157-
self.assertEqual(qr.data_list[0].mode, MODE_ALPHA_NUM)
148+
assert len(qr.data_list) == 1
149+
assert qr.data_list[0].mode == MODE_ALPHA_NUM
158150

159151
def test_optimize_size(self):
160152
text = "A1abc12345123451234512345def1HELLOHELLOHELLOHELLOa" * 5
161153

162154
qr = qrcode.QRCode()
163155
qr.add_data(text)
164156
qr.make()
165-
self.assertEqual(qr.version, 10)
157+
assert qr.version == 10
166158

167159
qr = qrcode.QRCode()
168160
qr.add_data(text, optimize=0)
169161
qr.make()
170-
self.assertEqual(qr.version, 11)
162+
assert qr.version == 11
171163

172164
def test_qrdata_repr(self):
173165
data = b"hello"
174166
data_obj = qrcode.util.QRData(data)
175-
self.assertEqual(repr(data_obj), repr(data))
167+
assert repr(data_obj) == repr(data)
176168

177169
def test_print_ascii_stdout(self):
178170
qr = qrcode.QRCode()
179171
with mock.patch("sys.stdout") as fake_stdout:
180172
fake_stdout.isatty.return_value = None
181-
self.assertRaises(OSError, qr.print_ascii, tty=True)
182-
self.assertTrue(fake_stdout.isatty.called)
173+
with pytest.raises(OSError):
174+
qr.print_ascii(tty=True)
175+
assert fake_stdout.isatty.called
183176

184177
def test_print_ascii(self):
185178
qr = qrcode.QRCode(border=0)
@@ -188,7 +181,7 @@ def test_print_ascii(self):
188181
printed = f.getvalue()
189182
f.close()
190183
expected = "\u2588\u2580\u2580\u2580\u2580\u2580\u2588"
191-
self.assertEqual(printed[: len(expected)], expected)
184+
assert printed[:len(expected)] == expected
192185

193186
f = io.StringIO()
194187
f.isatty = lambda: True
@@ -198,14 +191,14 @@ def test_print_ascii(self):
198191
expected = (
199192
"\x1b[48;5;232m\x1b[38;5;255m" + "\xa0\u2584\u2584\u2584\u2584\u2584\xa0"
200193
)
201-
self.assertEqual(printed[: len(expected)], expected)
194+
assert printed[:len(expected)] == expected
202195

203196
def test_print_tty_stdout(self):
204197
qr = qrcode.QRCode()
205198
with mock.patch("sys.stdout") as fake_stdout:
206199
fake_stdout.isatty.return_value = None
207-
self.assertRaises(OSError, qr.print_tty)
208-
self.assertTrue(fake_stdout.isatty.called)
200+
pytest.raises(OSError, qr.print_tty)
201+
assert fake_stdout.isatty.called
209202

210203
def test_print_tty(self):
211204
qr = qrcode.QRCode()
@@ -221,23 +214,25 @@ def test_print_tty(self):
221214
expected = (
222215
BOLD_WHITE_BG + " " * 23 + EOL + WHITE_BLOCK + " " * 7 + WHITE_BLOCK
223216
)
224-
self.assertEqual(printed[: len(expected)], expected)
217+
assert printed[:len(expected)] == expected
225218

226219
def test_get_matrix(self):
227220
qr = qrcode.QRCode(border=0)
228221
qr.add_data("1")
229-
self.assertEqual(qr.get_matrix(), qr.modules)
222+
assert qr.get_matrix() == qr.modules
230223

231224
def test_get_matrix_border(self):
232225
qr = qrcode.QRCode(border=1)
233226
qr.add_data("1")
234227
matrix = [row[1:-1] for row in qr.get_matrix()[1:-1]]
235-
self.assertEqual(matrix, qr.modules)
228+
assert matrix == qr.modules
236229

237230
def test_negative_size_at_construction(self):
238-
self.assertRaises(ValueError, qrcode.QRCode, box_size=-1)
231+
with pytest.raises(ValueError):
232+
qrcode.QRCode(box_size=-1)
239233

240234
def test_negative_size_at_usage(self):
241235
qr = qrcode.QRCode()
242236
qr.box_size = -1
243-
self.assertRaises(ValueError, qr.make_image)
237+
with pytest.raises(ValueError):
238+
qr.make_image()

qrcode/tests/test_qrcode_pil.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def test_render_pil(self):
2020
qr.add_data(UNICODE_TEXT)
2121
img = qr.make_image()
2222
img.save(io.BytesIO())
23-
self.assertIsInstance(img.get_image(), Image.Image)
23+
assert isinstance(img.get_image(), Image.Image)
2424

2525
def test_render_pil_with_transparent_background(self):
2626
qr = qrcode.QRCode()

qrcode/tests/test_script.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import pytest
12
import io
23
import os
34
import sys
@@ -38,7 +39,7 @@ def test_piped(self, mock_stdout):
3839
def test_stdin(self, mock_stdin, mock_print_ascii):
3940
mock_stdin.buffer.read.return_value = "testtext"
4041
main([])
41-
self.assertTrue(mock_stdin.buffer.read.called)
42+
assert mock_stdin.buffer.read.called
4243
mock_print_ascii.assert_called_with(tty=True)
4344

4445
@mock.patch("os.isatty", lambda *args: True)
@@ -49,7 +50,8 @@ def test_stdin_py3_unicodedecodeerror(self, mock_print_ascii):
4950
mock_stdin.read.side_effect = bad_read
5051
with mock.patch("sys.stdin", mock_stdin):
5152
# sys.stdin.read() will raise an error...
52-
self.assertRaises(UnicodeDecodeError, sys.stdin.read)
53+
with pytest.raises(UnicodeDecodeError):
54+
sys.stdin.read()
5355
# ... but it won't be used now.
5456
main([])
5557
mock_print_ascii.assert_called_with(tty=True)
@@ -81,25 +83,23 @@ def test_output(self):
8183
@mock.patch("sys.stderr", new_callable=io.StringIO)
8284
@unittest.skipIf(not Image, "Requires PIL")
8385
def test_factory_drawer_none(self, mock_stderr):
84-
with self.assertRaises(SystemExit):
86+
with pytest.raises(SystemExit):
8587
main("testtext --factory pil --factory-drawer nope".split())
86-
self.assertIn(
87-
"The selected factory has no drawer aliases", mock_stderr.getvalue()
88-
)
88+
assert 'The selected factory has no drawer aliases' in mock_stderr.getvalue()
8989

9090
@mock.patch("sys.stderr", new_callable=io.StringIO)
9191
def test_factory_drawer_bad(self, mock_stderr):
92-
with self.assertRaises(SystemExit):
92+
with pytest.raises(SystemExit):
9393
main("testtext --factory svg --factory-drawer sobad".split())
94-
self.assertIn("sobad factory drawer not found", mock_stderr.getvalue())
94+
assert 'sobad factory drawer not found' in mock_stderr.getvalue()
9595

9696
@mock.patch("sys.stderr", new_callable=io.StringIO)
9797
def test_factory_drawer(self, mock_stderr):
9898
main("testtext --factory svg --factory-drawer circle".split())
9999

100100
def test_commas(self):
101-
self.assertEqual(commas([]), "")
102-
self.assertEqual(commas(["A"]), "A")
103-
self.assertEqual(commas("AB"), "A or B")
104-
self.assertEqual(commas("ABC"), "A, B or C")
105-
self.assertEqual(commas("ABC", joiner="and"), "A, B and C")
101+
assert commas([]) == ''
102+
assert commas(['A']) == 'A'
103+
assert commas('AB') == 'A or B'
104+
assert commas('ABC') == 'A, B or C'
105+
assert commas('ABC', joiner='and') == 'A, B and C'

qrcode/tests/test_util.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1+
import pytest
12
import unittest
23

34
from qrcode import util
45

56

67
class UtilTests(unittest.TestCase):
78
def test_check_wrong_version(self):
8-
with self.assertRaises(ValueError):
9+
with pytest.raises(ValueError):
910
util.check_version(0)
1011

11-
with self.assertRaises(ValueError):
12+
with pytest.raises(ValueError):
1213
util.check_version(41)

0 commit comments

Comments
 (0)