Skip to content

Commit cabf388

Browse files
committed
forgot to update pytest
1 parent 70cf652 commit cabf388

File tree

3 files changed

+42
-162
lines changed

3 files changed

+42
-162
lines changed

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ pixelsort = "pixelsort.__main__:main"
3939
[project.optional-dependencies]
4040
test = [
4141
'pytest',
42+
'pytest-xdist', # use -n cpu_count to speedup pytest
4243
]
4344

4445
[tool.pytest.ini_options]
4546
minversion = "6.0"
4647
addopts = "-ra -q"
4748
testpaths = [
48-
"tests"
49+
"test"
4950
]
5051

5152
[tool.tox]

test/conftest.py

Lines changed: 38 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import cv2
33
import numpy as np
44

5+
import itertools
6+
57

68
# create image fixture
79
@pytest.fixture
@@ -28,170 +30,46 @@ def template() -> np.ndarray:
2830
return template
2931

3032
# array of test cases
33+
angles = [0, 45, -90]
34+
sort_brightest_options = [False, True]
35+
reverse_sort_options = [False, True]
36+
thresholds = [1, 0.5, -0.5]
37+
template_angles = [0, 45, -90]
38+
template_scales = [0.5, 1.5]
39+
3140
contrast_test_case = [
3241
{
33-
"angle": 0,
34-
"threshold": 1,
35-
"sort_brightest": False,
36-
"reverse_sort": False
37-
},
38-
{
39-
"angle": 45,
40-
"threshold": 1,
41-
"sort_brightest": False,
42-
"reverse_sort": False
43-
},
44-
{
45-
"angle": 90,
46-
"threshold": 1,
47-
"sort_brightest": False,
48-
"reverse_sort": False
49-
},
50-
{
51-
"angle": 135,
52-
"threshold": 1,
53-
"sort_brightest": False,
54-
"reverse_sort": False
55-
},
56-
{
57-
"angle": 180,
58-
"threshold": 1,
59-
"sort_brightest": False,
60-
"reverse_sort": False
61-
},
62-
{
63-
"angle": 225,
64-
"threshold": 1,
65-
"sort_brightest": False,
66-
"reverse_sort": False
67-
},
68-
{
69-
"angle": 270,
70-
"threshold": 1,
71-
"sort_brightest": False,
72-
"reverse_sort": False
73-
},
74-
{
75-
"angle": 315,
76-
"threshold": 1,
77-
"sort_brightest": False,
78-
"reverse_sort": False
79-
},
80-
{
81-
"angle": 0,
82-
"threshold": 0.5,
83-
"sort_brightest": False,
84-
"reverse_sort": False
85-
},
86-
{
87-
"angle": 0,
88-
"threshold": 0,
89-
"sort_brightest": False,
90-
"reverse_sort": False
91-
},
92-
{
93-
"angle": 0,
94-
"threshold": -0.5,
95-
"sort_brightest": False,
96-
"reverse_sort": False
97-
},
98-
{
99-
"angle": 0,
100-
"threshold": 1,
101-
"sort_brightest": True,
102-
"reverse_sort": False
103-
},
104-
{
105-
"angle": 0,
106-
"threshold": 1,
107-
"sort_brightest": False,
108-
"reverse_sort": True
109-
},
110-
{
111-
"angle": 0,
112-
"threshold": 1,
113-
"sort_brightest": True,
114-
"reverse_sort": True
115-
},
116-
{
117-
"angle": 0,
118-
"threshold": 1,
119-
"sort_brightest": False,
120-
"reverse_sort": False
121-
},
122-
{
123-
"angle": 0,
124-
"threshold": 1,
125-
"sort_brightest": False,
126-
"reverse_sort": False
127-
},
128-
{
129-
"angle": 0,
130-
"threshold": 1,
131-
"sort_brightest": False,
132-
"reverse_sort": False
133-
}
42+
"angle": angle,
43+
"sort_brightest": sort_brightest,
44+
"reverse_sort": reverse_sort,
45+
"threshold": threshold,
46+
} for angle, sort_brightest, reverse_sort, threshold in itertools.product(
47+
angles,
48+
sort_brightest_options,
49+
reverse_sort_options,
50+
thresholds
51+
)
13452
]
13553

13654
template_test_case = [
13755
{
138-
"angle": 0,
139-
"sort_brightest": False,
140-
"reverse_sort": False
141-
},
142-
{
143-
"angle": 45,
144-
"sort_brightest": False,
145-
"reverse_sort": False
146-
},
147-
{
148-
"angle": 90,
149-
"sort_brightest": False,
150-
"reverse_sort": False
151-
},
152-
{
153-
"angle": 135,
154-
"sort_brightest": False,
155-
"reverse_sort": False
156-
},
157-
{
158-
"angle": 180,
159-
"sort_brightest": False,
160-
"reverse_sort": False
161-
},
162-
{
163-
"angle": 225,
164-
"sort_brightest": False,
165-
"reverse_sort": False
166-
},
167-
{
168-
"angle": 270,
169-
"sort_brightest": False,
170-
"reverse_sort": False
171-
},
172-
{
173-
"angle": 315,
174-
"sort_brightest": False,
175-
"reverse_sort": False
176-
},
177-
{
178-
"angle": 0,
179-
"sort_brightest": True,
180-
"reverse_sort": False
181-
},
182-
{
183-
"angle": 0,
184-
"sort_brightest": False,
185-
"reverse_sort": True
186-
},
187-
{
188-
"angle": 0,
189-
"sort_brightest": True,
190-
"reverse_sort": True
191-
},
192-
{
193-
"angle": 0,
194-
"sort_brightest": False,
195-
"reverse_sort": False
196-
},
56+
"angle": angle,
57+
"sort_brightest": sort_brightest,
58+
"reverse_sort": reverse_sort,
59+
"template_angle": template_angle,
60+
"template_scale": template_scale
61+
}
62+
for angle, sort_brightest, reverse_sort, template_angle, template_scale in itertools.product(
63+
angles,
64+
sort_brightest_options,
65+
reverse_sort_options,
66+
template_angles,
67+
template_scales
68+
)
19769
]
70+
71+
if __name__=="__main__":
72+
print(f"contract_test_case: {len(contrast_test_case)}")
73+
print(f"template_test_case: {len(template_test_case)}")
74+
print(contrast_test_case[:10])
75+
print(template_test_case[:10])

test/test_image.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ def test_image_template_mask(image, template, test_case: dict):
2323
image_shape = np.shape(image)
2424

2525
# call process function
26-
create_mask = partial(pixelsort.image.create_template_mask, template)
26+
template = pixelsort.image.scale_image(template, test_case["template_scale"])
27+
create_mask = partial(pixelsort.image.create_template_mask, template, test_case["template_angle"])
2728
generated_image = pixelsort.image.process_image(image, create_mask, test_case["angle"], test_case["sort_brightest"], test_case["reverse_sort"])
2829

2930
generated_image_shape = np.shape(generated_image)

0 commit comments

Comments
 (0)