[Abstract] respect ref scale
This commit is contained in:
parent
548b51df47
commit
26cc0290b9
2 changed files with 25 additions and 0 deletions
|
|
@ -54,6 +54,17 @@ def test_abstract_ref_transform() -> None:
|
|||
assert_allclose(abs_obj.ports["A"].rotation, pi / 2, atol=1e-10)
|
||||
|
||||
|
||||
def test_abstract_ref_transform_scales_offsets() -> None:
|
||||
abs_obj = Abstract("test", {"A": Port((10, 0), 0)})
|
||||
ref = Ref(offset=(100, 100), rotation=pi / 2, mirrored=True, scale=2)
|
||||
|
||||
abs_obj.apply_ref_transform(ref)
|
||||
|
||||
assert_allclose(abs_obj.ports["A"].offset, [100, 120], atol=1e-10)
|
||||
assert abs_obj.ports["A"].rotation is not None
|
||||
assert_allclose(abs_obj.ports["A"].rotation, pi / 2, atol=1e-10)
|
||||
|
||||
|
||||
def test_abstract_undo_transform() -> None:
|
||||
abs_obj = Abstract("test", {"A": Port((100, 110), pi / 2)})
|
||||
ref = Ref(offset=(100, 100), rotation=pi / 2, mirrored=True)
|
||||
|
|
@ -62,3 +73,13 @@ def test_abstract_undo_transform() -> None:
|
|||
assert_allclose(abs_obj.ports["A"].offset, [10, 0], atol=1e-10)
|
||||
assert abs_obj.ports["A"].rotation is not None
|
||||
assert_allclose(abs_obj.ports["A"].rotation, 0, atol=1e-10)
|
||||
|
||||
|
||||
def test_abstract_undo_transform_scales_offsets() -> None:
|
||||
abs_obj = Abstract("test", {"A": Port((100, 120), pi / 2)})
|
||||
ref = Ref(offset=(100, 100), rotation=pi / 2, mirrored=True, scale=2)
|
||||
|
||||
abs_obj.undo_ref_transform(ref)
|
||||
assert_allclose(abs_obj.ports["A"].offset, [10, 0], atol=1e-10)
|
||||
assert abs_obj.ports["A"].rotation is not None
|
||||
assert_allclose(abs_obj.ports["A"].rotation, 0, atol=1e-10)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue