Skip to content

Commit c6773a1

Browse files
committed
Prefer bare asserts. They read better and they render nicer under pytest.
1 parent 935b189 commit c6773a1

File tree

9 files changed

+129
-178
lines changed

9 files changed

+129
-178
lines changed

importlib_resources/tests/test_compatibilty_files.py

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,51 +25,46 @@ def files(self):
2525
return resources.files(self.package)
2626

2727
def test_spec_path_iter(self):
28-
self.assertEqual(
29-
sorted(path.name for path in self.files.iterdir()),
30-
['a', 'b', 'c'],
31-
)
28+
assert sorted(path.name for path in self.files.iterdir()) == ['a', 'b', 'c']
3229

3330
def test_child_path_iter(self):
34-
self.assertEqual(list((self.files / 'a').iterdir()), [])
31+
assert list((self.files / 'a').iterdir()) == []
3532

3633
def test_orphan_path_iter(self):
37-
self.assertEqual(list((self.files / 'a' / 'a').iterdir()), [])
38-
self.assertEqual(list((self.files / 'a' / 'a' / 'a').iterdir()), [])
34+
assert list((self.files / 'a' / 'a').iterdir()) == []
35+
assert list((self.files / 'a' / 'a' / 'a').iterdir()) == []
3936

4037
def test_spec_path_is(self):
41-
self.assertFalse(self.files.is_file())
42-
self.assertFalse(self.files.is_dir())
38+
assert not self.files.is_file()
39+
assert not self.files.is_dir()
4340

4441
def test_child_path_is(self):
45-
self.assertTrue((self.files / 'a').is_file())
46-
self.assertFalse((self.files / 'a').is_dir())
42+
assert (self.files / 'a').is_file()
43+
assert not (self.files / 'a').is_dir()
4744

4845
def test_orphan_path_is(self):
49-
self.assertFalse((self.files / 'a' / 'a').is_file())
50-
self.assertFalse((self.files / 'a' / 'a').is_dir())
51-
self.assertFalse((self.files / 'a' / 'a' / 'a').is_file())
52-
self.assertFalse((self.files / 'a' / 'a' / 'a').is_dir())
46+
assert not (self.files / 'a' / 'a').is_file()
47+
assert not (self.files / 'a' / 'a').is_dir()
48+
assert not (self.files / 'a' / 'a' / 'a').is_file()
49+
assert not (self.files / 'a' / 'a' / 'a').is_dir()
5350

5451
def test_spec_path_name(self):
55-
self.assertEqual(self.files.name, 'testingpackage')
52+
assert self.files.name == 'testingpackage'
5653

5754
def test_child_path_name(self):
58-
self.assertEqual((self.files / 'a').name, 'a')
55+
assert (self.files / 'a').name == 'a'
5956

6057
def test_orphan_path_name(self):
61-
self.assertEqual((self.files / 'a' / 'b').name, 'b')
62-
self.assertEqual((self.files / 'a' / 'b' / 'c').name, 'c')
58+
assert (self.files / 'a' / 'b').name == 'b'
59+
assert (self.files / 'a' / 'b' / 'c').name == 'c'
6360

6461
def test_spec_path_open(self):
65-
self.assertEqual(self.files.read_bytes(), b'Hello, world!')
66-
self.assertEqual(self.files.read_text(encoding='utf-8'), 'Hello, world!')
62+
assert self.files.read_bytes() == b'Hello, world!'
63+
assert self.files.read_text(encoding='utf-8') == 'Hello, world!'
6764

6865
def test_child_path_open(self):
69-
self.assertEqual((self.files / 'a').read_bytes(), b'Hello, world!')
70-
self.assertEqual(
71-
(self.files / 'a').read_text(encoding='utf-8'), 'Hello, world!'
72-
)
66+
assert (self.files / 'a').read_bytes() == b'Hello, world!'
67+
assert (self.files / 'a').read_text(encoding='utf-8') == 'Hello, world!'
7368

7469
def test_orphan_path_open(self):
7570
with self.assertRaises(FileNotFoundError):
@@ -87,7 +82,7 @@ def test_orphan_path_invalid(self):
8782

8883
def test_wrap_spec(self):
8984
spec = wrap_spec(self.package)
90-
self.assertIsInstance(spec.loader.get_resource_reader(None), CompatibilityFiles)
85+
assert isinstance(spec.loader.get_resource_reader(None), CompatibilityFiles)
9186

9287

9388
class CompatibilityFilesNoReaderTests(unittest.TestCase):
@@ -100,4 +95,4 @@ def files(self):
10095
return resources.files(self.package)
10196

10297
def test_spec_path_joinpath(self):
103-
self.assertIsInstance(self.files / 'a', CompatibilityFiles.OrphanPath)
98+
assert isinstance(self.files / 'a', CompatibilityFiles.OrphanPath)

importlib_resources/tests/test_files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def test_traversable(self):
3737
def test_joinpath_with_multiple_args(self):
3838
files = resources.files(self.data)
3939
binfile = files.joinpath('subdirectory', 'binary.file')
40-
self.assertTrue(binfile.is_file())
40+
assert binfile.is_file()
4141

4242

4343
class OpenDiskTests(FilesTests, util.DiskSetup, unittest.TestCase):

importlib_resources/tests/test_functional.py

Lines changed: 39 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -51,28 +51,27 @@ def remove_utf16_bom(string):
5151
return string
5252

5353
def test_read_text(self):
54-
self.assertEqual(
55-
resources.read_text(self.anchor01, 'utf-8.file'),
56-
'Hello, UTF-8 world!\n',
54+
assert (
55+
resources.read_text(self.anchor01, 'utf-8.file') == 'Hello, UTF-8 world!\n'
5756
)
58-
self.assertEqual(
57+
assert (
5958
resources.read_text(
6059
self.anchor02,
6160
'subdirectory',
6261
'subsubdir',
6362
'resource.txt',
6463
encoding='utf-8',
65-
),
66-
'a resource',
64+
)
65+
== 'a resource'
6766
)
6867
for path_parts in self._gen_resourcetxt_path_parts():
69-
self.assertEqual(
68+
assert (
7069
resources.read_text(
7170
self.anchor02,
7271
*path_parts,
7372
encoding='utf-8',
74-
),
75-
'a resource',
73+
)
74+
== 'a resource'
7675
)
7776
# Use generic OSError, since e.g. attempting to read a directory can
7877
# fail with PermissionError rather than IsADirectoryError
@@ -82,48 +81,42 @@ def test_read_text(self):
8281
resources.read_text(self.anchor01, 'no-such-file')
8382
with self.assertRaises(UnicodeDecodeError):
8483
resources.read_text(self.anchor01, 'utf-16.file')
85-
self.assertEqual(
84+
assert (
8685
resources.read_text(
8786
self.anchor01,
8887
'binary.file',
8988
encoding='latin1',
90-
),
91-
'\x00\x01\x02\x03',
89+
)
90+
== '\x00\x01\x02\x03'
9291
)
93-
self.assertEqual(
94-
self.remove_utf16_bom(
95-
resources.read_text(
96-
self.anchor01,
97-
'utf-16.file',
98-
errors='backslashreplace',
99-
),
100-
),
101-
'Hello, UTF-16 world!\n'.encode('utf-16-le').decode(
92+
assert self.remove_utf16_bom(
93+
resources.read_text(
94+
self.anchor01,
95+
'utf-16.file',
10296
errors='backslashreplace',
10397
),
98+
) == 'Hello, UTF-16 world!\n'.encode('utf-16-le').decode(
99+
errors='backslashreplace',
104100
)
105101

106102
def test_read_binary(self):
107-
self.assertEqual(
108-
resources.read_binary(self.anchor01, 'utf-8.file'),
109-
b'Hello, UTF-8 world!\n',
103+
assert (
104+
resources.read_binary(self.anchor01, 'utf-8.file')
105+
== b'Hello, UTF-8 world!\n'
110106
)
111107
for path_parts in self._gen_resourcetxt_path_parts():
112-
self.assertEqual(
113-
resources.read_binary(self.anchor02, *path_parts),
114-
b'a resource',
115-
)
108+
assert resources.read_binary(self.anchor02, *path_parts) == b'a resource'
116109

117110
def test_open_text(self):
118111
with resources.open_text(self.anchor01, 'utf-8.file') as f:
119-
self.assertEqual(f.read(), 'Hello, UTF-8 world!\n')
112+
assert f.read() == 'Hello, UTF-8 world!\n'
120113
for path_parts in self._gen_resourcetxt_path_parts():
121114
with resources.open_text(
122115
self.anchor02,
123116
*path_parts,
124117
encoding='utf-8',
125118
) as f:
126-
self.assertEqual(f.read(), 'a resource')
119+
assert f.read() == 'a resource'
127120
# Use generic OSError, since e.g. attempting to read a directory can
128121
# fail with PermissionError rather than IsADirectoryError
129122
with self.assertRaises(OSError):
@@ -138,53 +131,49 @@ def test_open_text(self):
138131
'binary.file',
139132
encoding='latin1',
140133
) as f:
141-
self.assertEqual(f.read(), '\x00\x01\x02\x03')
134+
assert f.read() == '\x00\x01\x02\x03'
142135
with resources.open_text(
143136
self.anchor01,
144137
'utf-16.file',
145138
errors='backslashreplace',
146139
) as f:
147-
self.assertEqual(
148-
self.remove_utf16_bom(f.read()),
149-
'Hello, UTF-16 world!\n'.encode('utf-16-le').decode(
150-
errors='backslashreplace',
151-
),
140+
assert self.remove_utf16_bom(f.read()) == 'Hello, UTF-16 world!\n'.encode(
141+
'utf-16-le'
142+
).decode(
143+
errors='backslashreplace',
152144
)
153145

154146
def test_open_binary(self):
155147
with resources.open_binary(self.anchor01, 'utf-8.file') as f:
156-
self.assertEqual(f.read(), b'Hello, UTF-8 world!\n')
148+
assert f.read() == b'Hello, UTF-8 world!\n'
157149
for path_parts in self._gen_resourcetxt_path_parts():
158150
with resources.open_binary(
159151
self.anchor02,
160152
*path_parts,
161153
) as f:
162-
self.assertEqual(f.read(), b'a resource')
154+
assert f.read() == b'a resource'
163155

164156
def test_path(self):
165157
with resources.path(self.anchor01, 'utf-8.file') as path:
166158
with open(str(path), encoding='utf-8') as f:
167-
self.assertEqual(f.read(), 'Hello, UTF-8 world!\n')
159+
assert f.read() == 'Hello, UTF-8 world!\n'
168160
with resources.path(self.anchor01) as path:
169161
with open(os.path.join(path, 'utf-8.file'), encoding='utf-8') as f:
170-
self.assertEqual(f.read(), 'Hello, UTF-8 world!\n')
162+
assert f.read() == 'Hello, UTF-8 world!\n'
171163

172164
def test_is_resource(self):
173165
is_resource = resources.is_resource
174-
self.assertTrue(is_resource(self.anchor01, 'utf-8.file'))
175-
self.assertFalse(is_resource(self.anchor01, 'no_such_file'))
176-
self.assertFalse(is_resource(self.anchor01))
177-
self.assertFalse(is_resource(self.anchor01, 'subdirectory'))
166+
assert is_resource(self.anchor01, 'utf-8.file')
167+
assert not is_resource(self.anchor01, 'no_such_file')
168+
assert not is_resource(self.anchor01)
169+
assert not is_resource(self.anchor01, 'subdirectory')
178170
for path_parts in self._gen_resourcetxt_path_parts():
179-
self.assertTrue(is_resource(self.anchor02, *path_parts))
171+
assert is_resource(self.anchor02, *path_parts)
180172

181173
def test_contents(self):
182174
with warnings_helper.check_warnings((".*contents.*", DeprecationWarning)):
183175
c = resources.contents(self.anchor01)
184-
self.assertGreaterEqual(
185-
set(c),
186-
{'utf-8.file', 'utf-16.file', 'binary.file', 'subdirectory'},
187-
)
176+
assert set(c) >= {'utf-8.file', 'utf-16.file', 'binary.file', 'subdirectory'}
188177
with (
189178
self.assertRaises(OSError),
190179
warnings_helper.check_warnings((
@@ -205,10 +194,7 @@ def test_contents(self):
205194
list(resources.contents(self.anchor01, *path_parts))
206195
with warnings_helper.check_warnings((".*contents.*", DeprecationWarning)):
207196
c = resources.contents(self.anchor01, 'subdirectory')
208-
self.assertGreaterEqual(
209-
set(c),
210-
{'binary.file'},
211-
)
197+
assert set(c) >= {'binary.file'}
212198

213199
@warnings_helper.ignore_warnings(category=DeprecationWarning)
214200
def test_common_errors(self):

importlib_resources/tests/test_open.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,19 @@ def test_open_binary(self):
2424
target = resources.files(self.data) / 'binary.file'
2525
with target.open('rb') as fp:
2626
result = fp.read()
27-
self.assertEqual(result, bytes(range(4)))
27+
assert result == bytes(range(4))
2828

2929
def test_open_text_default_encoding(self):
3030
target = resources.files(self.data) / 'utf-8.file'
3131
with target.open(encoding='utf-8') as fp:
3232
result = fp.read()
33-
self.assertEqual(result, 'Hello, UTF-8 world!\n')
33+
assert result == 'Hello, UTF-8 world!\n'
3434

3535
def test_open_text_given_encoding(self):
3636
target = resources.files(self.data) / 'utf-16.file'
3737
with target.open(encoding='utf-16', errors='strict') as fp:
3838
result = fp.read()
39-
self.assertEqual(result, 'Hello, UTF-16 world!\n')
39+
assert result == 'Hello, UTF-16 world!\n'
4040

4141
def test_open_text_with_errors(self):
4242
"""
@@ -47,11 +47,10 @@ def test_open_text_with_errors(self):
4747
self.assertRaises(UnicodeError, fp.read)
4848
with target.open(encoding='utf-8', errors='ignore') as fp:
4949
result = fp.read()
50-
self.assertEqual(
51-
result,
50+
assert result == (
5251
'H\x00e\x00l\x00l\x00o\x00,\x00 '
5352
'\x00U\x00T\x00F\x00-\x001\x006\x00 '
54-
'\x00w\x00o\x00r\x00l\x00d\x00!\x00\n\x00',
53+
'\x00w\x00o\x00r\x00l\x00d\x00!\x00\n\x00'
5554
)
5655

5756
def test_open_binary_FileNotFoundError(self):

importlib_resources/tests/test_path.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ def test_reading(self):
2020
"""
2121
target = resources.files(self.data) / 'utf-8.file'
2222
with resources.as_file(target) as path:
23-
self.assertIsInstance(path, pathlib.Path)
24-
self.assertTrue(path.name.endswith("utf-8.file"), repr(path))
25-
self.assertEqual('Hello, UTF-8 world!\n', path.read_text(encoding='utf-8'))
23+
assert isinstance(path, pathlib.Path)
24+
assert path.name.endswith("utf-8.file"), repr(path)
25+
assert 'Hello, UTF-8 world!\n' == path.read_text(encoding='utf-8')
2626

2727

2828
class PathDiskTests(PathTests, util.DiskSetup, unittest.TestCase):

0 commit comments

Comments
 (0)