/ test / unit / technology / edge.py
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)