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

Skip to content

Commit 8495f7b

Browse files
committed
Fixed and refactored various AsinhScale tests
1 parent 070d984 commit 8495f7b

File tree

3 files changed

+41
-13
lines changed

3 files changed

+41
-13
lines changed

lib/matplotlib/scale.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from matplotlib import _api, docstring
2323
from matplotlib.ticker import (
2424
NullFormatter, ScalarFormatter, LogFormatterSciNotation, LogitFormatter,
25-
Locator, NullLocator, LogLocator, AutoLocator, AutoMinorLocator,
25+
NullLocator, LogLocator, AutoLocator, AutoMinorLocator,
2626
SymmetricalLogLocator, AsinhLocator, LogitLocator)
2727
from matplotlib.transforms import Transform, IdentityTransform
2828

lib/matplotlib/tests/test_scale.py

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import matplotlib.pyplot as plt
44
from matplotlib.scale import (
5-
AsinhTransform,
5+
AsinhScale, AsinhTransform,
66
LogTransform, InvertedLogTransform,
77
SymmetricalLogTransform)
88
import matplotlib.scale as mscale
@@ -222,17 +222,38 @@ def test_scale_deepcopy():
222222
assert sc._transform is not sc2._transform
223223

224224

225-
def test_asinh_transforms():
226-
a0 = 17.0
227-
a = np.linspace(-50, 50, 100)
225+
class TestAsinhScale:
226+
def test_transforms(self):
227+
a0 = 17.0
228+
a = np.linspace(-50, 50, 100)
228229

229-
forward = AsinhTransform(a0)
230-
inverse = forward.inverted()
231-
invinv = inverse.inverted()
230+
forward = AsinhTransform(a0)
231+
inverse = forward.inverted()
232+
invinv = inverse.inverted()
232233

233-
a_forward = forward.transform_non_affine(a)
234-
a_inverted = inverse.transform_non_affine(a_forward)
235-
assert_allclose(a_inverted, a)
234+
a_forward = forward.transform_non_affine(a)
235+
a_inverted = inverse.transform_non_affine(a_forward)
236+
assert_allclose(a_inverted, a)
236237

237-
a_invinv = invinv.transform_non_affine(a)
238-
assert_allclose(a_invinv, a0 * np.asinh(a / a0))
238+
a_invinv = invinv.transform_non_affine(a)
239+
assert_allclose(a_invinv, a0 * np.arcsinh(a / a0))
240+
241+
def test_init(self):
242+
fig, ax = plt.subplots()
243+
244+
s = AsinhScale(axis=None, linear_width=23.0)
245+
assert s.linear_width == 23
246+
247+
tx = s.get_transform()
248+
assert isinstance(tx, AsinhTransform)
249+
assert tx.linear_width == s.linear_width
250+
251+
def test_bad_scale(self):
252+
fig, ax = plt.subplots()
253+
254+
with pytest.raises(ValueError):
255+
AsinhScale(axis=None, linear_width=0)
256+
with pytest.raises(ValueError):
257+
AsinhScale(axis=None, linear_width=-1)
258+
s0 = AsinhScale(axis=None, )
259+
s1 = AsinhScale(axis=None, linear_width=3.0)

lib/matplotlib/tests/test_ticker.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,11 +444,18 @@ def test_set_params(self):
444444

445445

446446
class TestAsinhLocator:
447+
def test_init(self):
448+
lctr = mticker.AsinhLocator(linear_width=2.718, numticks=19)
449+
assert lctr.linear_width == 2.718
450+
assert lctr.numticks == 19
451+
447452
def test_set_params(self):
448453
lctr = mticker.AsinhLocator(linear_width=5, numticks=17)
449454
assert lctr.numticks == 17
450455
lctr.set_params(numticks=23)
451456
assert lctr.numticks == 23
457+
lctr.set_params(None)
458+
assert lctr.numticks == 23
452459

453460

454461
class TestScalarFormatter:

0 commit comments

Comments
 (0)