edge.py
1 # SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-or-later OR CERN-OHL-S-2.0+ OR Apache-2.0 2 # type: ignore 3 import unittest 4 5 from pdkmaster.technology import mask as _msk, edge as _edg 6 7 class GeometryTest(unittest.TestCase): 8 def test_error(self): 9 mask1 = _msk.DesignMask(name="mask1") 10 mask2 = _msk.DesignMask(name="mask2") 11 12 with self.assertRaises(TypeError): 13 _edg.Intersect((mask1, mask2)) 14 15 def test_edgeproperty(self): 16 mask1 = _msk.DesignMask(name="mask1") 17 mask2 = _msk.DesignMask(name="mask2") 18 19 edge1 = _edg.MaskEdge(mask1) 20 edge2 = _edg.MaskEdge(mask2) 21 22 # Just do coverage of code 23 prop1 = _edg._DualEdgeProperty( 24 edge1=edge1, edge2=edge2, name="prop1", 25 commutative=True, allow_mask2=False, 26 ) 27 prop2 = _edg._DualEdgeProperty( 28 edge1=edge2, edge2=edge1, name="prop2", 29 commutative=False, allow_mask2=True, 30 ) 31 32 def test_maskedge(self): 33 mask1 = _msk.DesignMask(name="mask1") 34 mask2 = _msk.DesignMask(name="mask2") 35 36 # Just do coverage of code 37 edge1 = _edg.MaskEdge(mask1) 38 edge2 = _edg.MaskEdge(mask2) 39 40 _edg.Join((edge1, edge2)) 41 _edg.Intersect((edge1, edge2)) 42 edge1.enclosed_by(edge2)