mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-29 09:20:45 +02:00
Convenience 'each' for recursive shape iterator / recursive instance iterator
This commit is contained in:
+11
@@ -27,7 +27,16 @@ class DBLayout_TestClass < TestBase
|
||||
|
||||
def collect(s, l)
|
||||
|
||||
# check native iteration here too ..
|
||||
res2 = []
|
||||
s.each do |s|
|
||||
r = "[#{s.inst_cell.name}]"
|
||||
r += (s.trans * s.inst_trans).to_s
|
||||
res2.push(r)
|
||||
end
|
||||
|
||||
res = []
|
||||
s.reset
|
||||
while !s.at_end?
|
||||
r = "[#{s.inst_cell.name}]"
|
||||
r += (s.trans * s.inst_trans).to_s
|
||||
@@ -35,6 +44,8 @@ class DBLayout_TestClass < TestBase
|
||||
s.next
|
||||
end
|
||||
|
||||
assert_equal(res, res2)
|
||||
|
||||
return res.join("/")
|
||||
|
||||
end
|
||||
|
||||
+16
@@ -27,7 +27,21 @@ class DBRecursiveShapeIterator_TestClass < TestBase
|
||||
|
||||
def collect(s, l)
|
||||
|
||||
# check native iteration here too ..
|
||||
res2 = []
|
||||
s.each do |s|
|
||||
r = "[#{l.cell_name(s.cell_index)}]"
|
||||
if s.shape.is_box?
|
||||
box = s.shape.box
|
||||
r += box.transformed(s.trans).to_s
|
||||
else
|
||||
r += "X";
|
||||
end
|
||||
res2.push(r)
|
||||
end
|
||||
|
||||
res = []
|
||||
s.reset
|
||||
while !s.at_end?
|
||||
r = "[#{l.cell_name(s.cell_index)}]"
|
||||
if s.shape.is_box?
|
||||
@@ -40,6 +54,8 @@ class DBRecursiveShapeIterator_TestClass < TestBase
|
||||
res.push(r)
|
||||
end
|
||||
|
||||
assert_equal(res, res2)
|
||||
|
||||
return res.join("/")
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user