Skip to content

Commit a3b6625

Browse files
committed
TST: Add tests for LockableBbox.
1 parent 7ea2b58 commit a3b6625

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

lib/matplotlib/tests/test_transforms.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,3 +600,37 @@ def test_transformed_patch_path():
600600
# from the transform).
601601
patch.set_radius(0.5)
602602
assert_allclose(tpatch.get_fully_transformed_path().vertices, points)
603+
604+
605+
@pytest.mark.parametrize('locked_element', ['x0', 'y0', 'x1', 'y1'])
606+
def test_lockable_bbox(locked_element):
607+
other_elements = ['x0', 'y0', 'x1', 'y1']
608+
other_elements.remove(locked_element)
609+
610+
orig = mtransforms.Bbox.unit()
611+
locked = mtransforms.LockableBbox(orig, **{locked_element: 2})
612+
613+
# LockableBbox should keep its locked element as specified in __init__.
614+
assert getattr(locked, locked_element) == 2
615+
assert getattr(locked, 'get_locked_' + locked_element)() == 2
616+
for elem in other_elements:
617+
assert getattr(locked, elem) == getattr(orig, elem)
618+
619+
# Changing underlying Bbox should update everything but locked element.
620+
orig.set_points(orig.get_points() + 10)
621+
assert getattr(locked, locked_element) == 2
622+
assert getattr(locked, 'get_locked_' + locked_element)() == 2
623+
for elem in other_elements:
624+
assert getattr(locked, elem) == getattr(orig, elem)
625+
626+
# Unlocking element should revert values back to the underlying Bbox.
627+
getattr(locked, 'set_locked_' + locked_element)(None)
628+
assert getattr(locked, 'get_locked_' + locked_element)() is None
629+
assert np.all(orig.get_points() == locked.get_points())
630+
631+
# Relocking an element should change its value, but not others.
632+
getattr(locked, 'set_locked_' + locked_element)(3)
633+
assert getattr(locked, locked_element) == 3
634+
assert getattr(locked, 'get_locked_' + locked_element)() == 3
635+
for elem in other_elements:
636+
assert getattr(locked, elem) == getattr(orig, elem)

0 commit comments

Comments
 (0)