Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 47c447a

Browse files
phobsonOceanWolf
authored andcommitted
refactor tests a bit to handle non-invertable Norms
1 parent 3cc84a6 commit 47c447a

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

lib/matplotlib/tests/test_colors.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -164,13 +164,16 @@ def test_Normalize():
164164
_mask_tester(norm, vals)
165165

166166

167-
class _base_NormMixin(object):
167+
class BaseNormMixin(object):
168168
def test_call(self):
169169
normed_vals = self.norm(self.vals)
170170
assert_array_almost_equal(normed_vals, self.expected)
171171

172172
def test_inverse(self):
173-
_inverse_tester(self.norm, self.vals)
173+
if self.test_inverse:
174+
_inverse_tester(self.norm, self.vals)
175+
else:
176+
pass
174177

175178
def test_scalar(self):
176179
_scalar_tester(self.norm, self.vals)
@@ -224,39 +227,42 @@ def test_process_value_array(self):
224227
assert_array_equal(res, np.array([5., 10.]))
225228

226229

227-
class test_OffsetNorm_Even(_base_NormMixin):
230+
class BaseOffsetNorm(BaseNormMixin):
231+
normclass = mcolors.OffsetNorm
232+
test_inverse = False
233+
234+
class test_OffsetNorm_Even(BaseOffsetNorm):
228235
def setup(self):
229-
self.normclass = mcolors.OffsetNorm
230236
self.norm = self.normclass(vmin=-1, vcenter=0, vmax=4)
231237
self.vals = np.array([-1.0, -0.5, 0.0, 1.0, 2.0, 3.0, 4.0])
232238
self.expected = np.array([0.0, 0.25, 0.5, 0.625, 0.75, 0.875, 1.0])
233239

234240

235-
class test_OffsetNorm_Odd(_base_NormMixin):
241+
class test_OffsetNorm_Odd(BaseOffsetNorm):
236242
def setup(self):
237243
self.normclass = mcolors.OffsetNorm
238244
self.norm = self.normclass(vmin=-2, vcenter=0, vmax=5)
239245
self.vals = np.array([-2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
240246
self.expected = np.array([0.0, 0.25, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
241247

242248

243-
class test_OffsetNorm_AllNegative(_base_NormMixin):
249+
class test_OffsetNorm_AllNegative(BaseOffsetNorm):
244250
def setup(self):
245251
self.normclass = mcolors.OffsetNorm
246252
self.norm = self.normclass(vmin=-10, vcenter=-8, vmax=-2)
247253
self.vals = np.array([-10., -9., -8., -6., -4., -2.])
248254
self.expected = np.array([0.0, 0.25, 0.5, 0.666667, 0.833333, 1.0])
249255

250256

251-
class test_OffsetNorm_AllPositive(_base_NormMixin):
257+
class test_OffsetNorm_AllPositive(BaseOffsetNorm):
252258
def setup(self):
253259
self.normclass = mcolors.OffsetNorm
254260
self.norm = self.normclass(vmin=0, vcenter=3, vmax=9)
255261
self.vals = np.array([0., 1.5, 3., 4.5, 6.0, 7.5, 9.])
256262
self.expected = np.array([0.0, 0.25, 0.5, 0.625, 0.75, 0.875, 1.0])
257263

258264

259-
class test_OffsetNorm_NoVs(_base_NormMixin):
265+
class test_OffsetNorm_NoVs(BaseOffsetNorm):
260266
def setup(self):
261267
self.normclass = mcolors.OffsetNorm
262268
self.norm = self.normclass(vmin=None, vcenter=None, vmax=None)
@@ -283,23 +289,23 @@ def test_vmax(self):
283289
assert_equal(self.norm.vmax, self.expected_vmax)
284290

285291

286-
class test_OffsetNorm_VminEqualsVcenter(_base_NormMixin):
292+
class test_OffsetNorm_VminEqualsVcenter(BaseOffsetNorm):
287293
def setup(self):
288294
self.normclass = mcolors.OffsetNorm
289295
self.norm = self.normclass(vmin=-2, vcenter=-2, vmax=2)
290296
self.vals = np.array([-2.0, -1.0, 0.0, 1.0, 2.0])
291297
self.expected = np.array([0.5, 0.625, 0.75, 0.875, 1.0])
292298

293299

294-
class test_OffsetNorm_VmaxEqualsVcenter(_base_NormMixin):
300+
class test_OffsetNorm_VmaxEqualsVcenter(BaseOffsetNorm):
295301
def setup(self):
296302
self.normclass = mcolors.OffsetNorm
297303
self.norm = self.normclass(vmin=-2, vcenter=2, vmax=2)
298304
self.vals = np.array([-2.0, -1.0, 0.0, 1.0, 2.0])
299305
self.expected = np.array([0.0, 0.125, 0.25, 0.375, 0.5])
300306

301307

302-
class test_OffsetNorm_VsAllEqual(_base_NormMixin):
308+
class test_OffsetNorm_VsAllEqual(BaseOffsetNorm):
303309
def setup(self):
304310
self.v = 10
305311
self.normclass = mcolors.OffsetNorm

0 commit comments

Comments
 (0)