|
a |
|
b/tests/test_readers.py |
|
|
1 |
from pathlib import Path |
|
|
2 |
|
|
|
3 |
import pytest |
|
|
4 |
|
|
|
5 |
import wsic |
|
|
6 |
|
|
|
7 |
|
|
|
8 |
class TestGetTileScenareos: |
|
|
9 |
"""Test scenarios specific to get_tile().""" |
|
|
10 |
|
|
|
11 |
scenarios = [ |
|
|
12 |
( |
|
|
13 |
"get_tile openslide", |
|
|
14 |
{ |
|
|
15 |
"reader_class": wsic.readers.OpenSlideReader, |
|
|
16 |
"filepath": Path("CMU-1-Small-Region.svs"), |
|
|
17 |
"decode": False, |
|
|
18 |
}, |
|
|
19 |
), |
|
|
20 |
( |
|
|
21 |
"get_tile tiffreader", |
|
|
22 |
{ |
|
|
23 |
"reader_class": wsic.readers.TIFFReader, |
|
|
24 |
"filepath": Path("CMU-1-Small-Region.svs"), |
|
|
25 |
"decode": True, |
|
|
26 |
}, |
|
|
27 |
), |
|
|
28 |
] |
|
|
29 |
|
|
|
30 |
@staticmethod |
|
|
31 |
def test_get_tile_decode_false( |
|
|
32 |
samples_path, |
|
|
33 |
filepath: str, |
|
|
34 |
reader_class: wsic.readers.Reader, |
|
|
35 |
decode: bool, |
|
|
36 |
**kwargs |
|
|
37 |
): |
|
|
38 |
"""Test that get_tile returns bytes or raises NotImplementedError.""" |
|
|
39 |
filepath = samples_path / filepath |
|
|
40 |
assert filepath.exists() |
|
|
41 |
reader = reader_class(filepath) |
|
|
42 |
if not decode: |
|
|
43 |
with pytest.raises(NotImplementedError): |
|
|
44 |
reader.get_tile((0, 0), decode=False) |
|
|
45 |
return |
|
|
46 |
|
|
|
47 |
tile = reader.get_tile((0, 0), decode=False) |
|
|
48 |
assert isinstance(tile, bytes) |