mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-29 09:20:45 +02:00
Unit tests fixed after #526 update.
This commit is contained in:
Vendored
+2
-2
@@ -117,11 +117,11 @@ circuit RINGO ();
|
||||
end;
|
||||
""")
|
||||
|
||||
self.assertEqual(repr(l2n.probe_net(rmetal2, pya.DPoint(0.0, 1.8))), "RINGO:FB")
|
||||
self.assertEqual(str(l2n.probe_net(rmetal2, pya.DPoint(0.0, 1.8))), "RINGO:FB")
|
||||
self.assertEqual(repr(l2n.probe_net(rmetal2, pya.DPoint(-2.0, 1.8))), "None")
|
||||
|
||||
n = l2n.probe_net(rmetal1, pya.Point(2600, 1000))
|
||||
self.assertEqual(repr(n), "RINGO:$I20")
|
||||
self.assertEqual(str(n), "RINGO:$I20")
|
||||
|
||||
self.assertEqual(str(l2n.shapes_of_net(n, rmetal1, True)), "(1660,-420;1660,2420;2020,2420;2020,-420);(1840,820;1840,1180;3220,1180;3220,820);(1660,2420;1660,3180;2020,3180;2020,2420);(1660,-380;1660,380;2020,380;2020,-380)")
|
||||
|
||||
|
||||
Vendored
+16
-10
@@ -21,6 +21,12 @@ import pya
|
||||
import unittest
|
||||
import sys
|
||||
|
||||
def astr(a):
|
||||
astr = []
|
||||
for i in a:
|
||||
astr.append(str(i))
|
||||
return "[" + ", ".join(astr) + "]"
|
||||
|
||||
class DBPolygonTests(unittest.TestCase):
|
||||
|
||||
# DPolygon basics
|
||||
@@ -490,17 +496,17 @@ class DBPolygonTests(unittest.TestCase):
|
||||
|
||||
p = pya.Polygon.from_s("(0,0;0,40;40,40;40,0/10,10;30,10;30,30;10,30)")
|
||||
|
||||
self.assertEqual(str(p.decompose_convex()), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(str(p.decompose_convex(pya.Polygon.PO_any)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(str(p.decompose_convex(pya.Polygon.PO_horizontal)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;40,40;40,30), (30,10;30,30;40,30;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(str(p.decompose_convex(pya.Polygon.PO_vertical)), "[(10,0;10,10;30,10;30,0), (0,0;0,40;10,40;10,0), (10,30;10,40;30,40;30,30), (30,0;30,40;40,40;40,0)]")
|
||||
self.assertEqual(str(p.decompose_convex(pya.Polygon.PO_htrapezoids)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(str(p.decompose_convex(pya.Polygon.PO_vtrapezoids)), "[(10,0;10,10;30,10;30,0), (0,0;0,30;10,30;10,0), (0,30;0,40;30,40;30,30), (30,0;30,40;40,40;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_convex()), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_convex(pya.Polygon.PO_any)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_convex(pya.Polygon.PO_horizontal)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;40,40;40,30), (30,10;30,30;40,30;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_convex(pya.Polygon.PO_vertical)), "[(10,0;10,10;30,10;30,0), (0,0;0,40;10,40;10,0), (10,30;10,40;30,40;30,30), (30,0;30,40;40,40;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_convex(pya.Polygon.PO_htrapezoids)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_convex(pya.Polygon.PO_vtrapezoids)), "[(10,0;10,10;30,10;30,0), (0,0;0,30;10,30;10,0), (0,30;0,40;30,40;30,30), (30,0;30,40;40,40;40,0)]")
|
||||
|
||||
self.assertEqual(str(p.decompose_trapezoids()), "[(0,0;0,10;40,10;40,0), (0,10;0,30;10,30;10,10), (30,10;30,30;40,30;40,10), (0,30;0,40;40,40;40,30)]")
|
||||
self.assertEqual(str(p.decompose_trapezoids(pya.Polygon.TD_simple)), "[(0,0;0,10;40,10;40,0), (0,10;0,30;10,30;10,10), (30,10;30,30;40,30;40,10), (0,30;0,40;40,40;40,30)]")
|
||||
self.assertEqual(str(p.decompose_trapezoids(pya.Polygon.TD_htrapezoids)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(str(p.decompose_trapezoids(pya.Polygon.TD_vtrapezoids)), "[(10,0;10,10;30,10;30,0), (0,0;0,30;10,30;10,0), (0,30;0,40;30,40;30,30), (30,0;30,40;40,40;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_trapezoids()), "[(0,0;0,10;40,10;40,0), (0,10;0,30;10,30;10,10), (30,10;30,30;40,30;40,10), (0,30;0,40;40,40;40,30)]")
|
||||
self.assertEqual(astr(p.decompose_trapezoids(pya.Polygon.TD_simple)), "[(0,0;0,10;40,10;40,0), (0,10;0,30;10,30;10,10), (30,10;30,30;40,30;40,10), (0,30;0,40;40,40;40,30)]")
|
||||
self.assertEqual(astr(p.decompose_trapezoids(pya.Polygon.TD_htrapezoids)), "[(0,10;0,30;10,30;10,10), (0,30;0,40;30,40;30,30), (30,10;30,40;40,40;40,10), (0,0;0,10;40,10;40,0)]")
|
||||
self.assertEqual(astr(p.decompose_trapezoids(pya.Polygon.TD_vtrapezoids)), "[(10,0;10,10;30,10;30,0), (0,0;0,30;10,30;10,0), (0,30;0,40;30,40;30,30), (30,0;30,40;40,40;40,0)]")
|
||||
|
||||
# polygon decomposition
|
||||
def test_extractRad(self):
|
||||
|
||||
Vendored
+6
-1
@@ -21,6 +21,11 @@ import unittest
|
||||
import os
|
||||
import sys
|
||||
|
||||
def astr(a):
|
||||
astr = []
|
||||
for i in a:
|
||||
astr.append(str(i))
|
||||
return "[" + ", ".join(astr) + "]"
|
||||
|
||||
class LAYLayersTest(unittest.TestCase):
|
||||
|
||||
@@ -139,7 +144,7 @@ class LAYLayersTest(unittest.TestCase):
|
||||
l12_new.source = "@* (0,0 *0.5) (0,5 r45 *2.5)"
|
||||
cv.set_layer_properties(p12, l12_new)
|
||||
trans = p12.current().trans_(True)
|
||||
self.assertEqual(str(trans), str(p12.current().trans))
|
||||
self.assertEqual(astr(trans), astr(p12.current().trans))
|
||||
self.assertEqual(len(trans), 2)
|
||||
self.assertEqual(str(trans [0]), "r0 *0.5 0,0")
|
||||
self.assertEqual(str(trans [1]), "r45 *2.5 0,5")
|
||||
|
||||
Vendored
+11
-5
@@ -20,6 +20,12 @@ import pya
|
||||
import unittest
|
||||
import sys
|
||||
|
||||
def astr(a):
|
||||
astr = []
|
||||
for i in a:
|
||||
astr.append(str(i))
|
||||
return "[" + ", ".join(astr) + "]"
|
||||
|
||||
class TLTest(unittest.TestCase):
|
||||
|
||||
def test_1(self):
|
||||
@@ -114,7 +120,7 @@ class TLTest(unittest.TestCase):
|
||||
expr = pya.Expression("x=a&b; y=x; z=y; [x,y,z]", { "a": box1, "b": box2, "x": None, "y": None, "z": None })
|
||||
res = expr.eval()
|
||||
|
||||
self.assertEqual(str(res), "[(50,150;200,300), (50,150;200,300), (50,150;200,300)]")
|
||||
self.assertEqual(astr(res), "[(50,150;200,300), (50,150;200,300), (50,150;200,300)]")
|
||||
|
||||
# all objects are individual copies
|
||||
self.assertNotEqual(id(res[0]), id(box1))
|
||||
@@ -129,7 +135,7 @@ class TLTest(unittest.TestCase):
|
||||
expr = pya.Expression("var x=a&b; var y=x; var z=y; [x,y,z]", { "a": box1, "b": box2 })
|
||||
res = expr.eval()
|
||||
|
||||
self.assertEqual(str(res), "[(50,150;200,300), (50,150;200,300), (50,150;200,300)]")
|
||||
self.assertEqual(astr(res), "[(50,150;200,300), (50,150;200,300), (50,150;200,300)]")
|
||||
|
||||
# all objects are individual copies
|
||||
self.assertNotEqual(id(res[0]), id(box1))
|
||||
@@ -139,7 +145,7 @@ class TLTest(unittest.TestCase):
|
||||
|
||||
# destruction of the expression's object space does not matter since we have copies
|
||||
expr._destroy()
|
||||
self.assertEqual(str(res), "[(50,150;200,300), (50,150;200,300), (50,150;200,300)]")
|
||||
self.assertEqual(astr(res), "[(50,150;200,300), (50,150;200,300), (50,150;200,300)]")
|
||||
|
||||
# -------------------------------------------------
|
||||
|
||||
@@ -178,7 +184,7 @@ class TLTest(unittest.TestCase):
|
||||
expr = pya.Expression("x=a&b; y=x; z=y; [x,y,z]", { "a": region1, "b": region2, "x": None, "y": None, "z": None })
|
||||
res = expr.eval()
|
||||
|
||||
self.assertEqual(str(res), "[(50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150)]")
|
||||
self.assertEqual(astr(res), "[(50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150)]")
|
||||
|
||||
# regions are managed objects -> passing the object through the expression persists it's object ID
|
||||
self.assertNotEqual(id(res[0]), id(region1))
|
||||
@@ -195,7 +201,7 @@ class TLTest(unittest.TestCase):
|
||||
expr = pya.Expression("var x=a&b; var y=x; var z=y; [x,y,z]", { "a": region1, "b": region2 })
|
||||
res = expr.eval()
|
||||
|
||||
self.assertEqual(str(res), "[(50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150)]")
|
||||
self.assertEqual(astr(res), "[(50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150), (50,150;50,300;200,300;200,150)]")
|
||||
|
||||
# regions are managed objects -> passing the object through the expression persists it's object ID
|
||||
self.assertNotEqual(id(res[0]), id(region1))
|
||||
|
||||
Reference in New Issue
Block a user