[Tests] cleanup
This commit is contained in:
parent
d9adb4e1b9
commit
1cce6c1f70
23 changed files with 540 additions and 467 deletions
|
|
@ -1,4 +1,3 @@
|
|||
import pytest
|
||||
import numpy
|
||||
from numpy.testing import assert_allclose
|
||||
|
||||
|
|
@ -7,43 +6,45 @@ from ..pattern import Pattern
|
|||
from ..ports import Port
|
||||
from ..library import Library
|
||||
|
||||
def test_ports2data_roundtrip():
|
||||
|
||||
def test_ports2data_roundtrip() -> None:
|
||||
pat = Pattern()
|
||||
pat.ports["P1"] = Port((10, 20), numpy.pi/2, ptype="test")
|
||||
|
||||
pat.ports["P1"] = Port((10, 20), numpy.pi / 2, ptype="test")
|
||||
|
||||
layer = (10, 0)
|
||||
ports_to_data(pat, layer)
|
||||
|
||||
|
||||
assert len(pat.labels[layer]) == 1
|
||||
assert pat.labels[layer][0].string == "P1:test 90"
|
||||
assert tuple(pat.labels[layer][0].offset) == (10.0, 20.0)
|
||||
|
||||
|
||||
# New pattern, read ports back
|
||||
pat2 = Pattern()
|
||||
pat2.labels[layer] = pat.labels[layer]
|
||||
data_to_ports([layer], {}, pat2)
|
||||
|
||||
|
||||
assert "P1" in pat2.ports
|
||||
assert_allclose(pat2.ports["P1"].offset, [10, 20], atol=1e-10)
|
||||
assert_allclose(pat2.ports["P1"].rotation, numpy.pi/2, atol=1e-10)
|
||||
assert_allclose(pat2.ports["P1"].rotation, numpy.pi / 2, atol=1e-10)
|
||||
assert pat2.ports["P1"].ptype == "test"
|
||||
|
||||
def test_data_to_ports_hierarchical():
|
||||
|
||||
def test_data_to_ports_hierarchical() -> None:
|
||||
lib = Library()
|
||||
|
||||
|
||||
# Child has port data in labels
|
||||
child = Pattern()
|
||||
layer = (10, 0)
|
||||
child.label(layer=layer, string="A:type1 0", offset=(5, 0))
|
||||
lib["child"] = child
|
||||
|
||||
|
||||
# Parent references child
|
||||
parent = Pattern()
|
||||
parent.ref("child", offset=(100, 100), rotation=numpy.pi/2)
|
||||
|
||||
parent.ref("child", offset=(100, 100), rotation=numpy.pi / 2)
|
||||
|
||||
# Read ports hierarchically (max_depth > 0)
|
||||
data_to_ports([layer], lib, parent, max_depth=1)
|
||||
|
||||
|
||||
# child port A (5,0) rot 0
|
||||
# transformed by parent ref: rot pi/2, trans (100, 100)
|
||||
# (5,0) rot pi/2 -> (0, 5)
|
||||
|
|
@ -51,5 +52,4 @@ def test_data_to_ports_hierarchical():
|
|||
# rot 0 + pi/2 = pi/2
|
||||
assert "A" in parent.ports
|
||||
assert_allclose(parent.ports["A"].offset, [100, 105], atol=1e-10)
|
||||
assert_allclose(parent.ports["A"].rotation, numpy.pi/2, atol=1e-10)
|
||||
|
||||
assert_allclose(parent.ports["A"].rotation, numpy.pi / 2, atol=1e-10)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue