MCPcopy Create free account
hub / github.com/KLayout/klayout / test_2_Layout

Method test_2_Layout

testdata/python/dbLayoutTest.py:61–194  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

59
60 # Basics: cells and instances
61 def test_2_Layout(self):
62
63 ly = pya.Layout()
64
65 ly.dbu = 0.25
66 self.assertEqual( ly.dbu, 0.25 )
67
68 self.assertEqual( ly.has_cell("cell"), False )
69 self.assertEqual( ly.cells(), 0 )
70
71 ci = ly.add_cell( "new_cell" )
72 self.assertEqual( ly.cells(), 1 )
73 self.assertEqual( ly.has_cell("cell"), False )
74 self.assertEqual( ly.has_cell("new_cell"), True )
75 self.assertEqual( ly.cell_name(ci), "new_cell" )
76
77 self.assertEqual( ly.cell_by_name("new_cell"), ci )
78 self.assertEqual( ly.cell(ci).cell_index(), ci )
79 self.assertEqual( ly.cell("new_cell").name, "new_cell" )
80 self.assertEqual( repr(ly.cell("x")), "None" )
81 lyc = ly.dup()
82 self.assertEqual( lyc._to_const_object().cell("new_cell").name, "new_cell" )
83 self.assertEqual( lyc._to_const_object().cell(ci).cell_index(), ci )
84
85 ci2 = ly.add_cell( "new_cell_b" )
86 self.assertEqual( ly.cells(), 2 )
87 self.assertEqual( ly.cell_by_name("new_cell_b"), ci2 )
88 self.assertEqual( sorted([ c.name for c in ly.cells("new*") ]), ['new_cell', 'new_cell_b'] )
89 self.assertEqual( ci != ci2, True )
90 lyc = ly.dup()
91 self.assertEqual( sorted([ c.name for c in lyc._to_const_object().cells("new*") ]), ['new_cell', 'new_cell_b'] )
92
93 ly.rename_cell( ci2, "x" )
94 self.assertEqual( ly.cell_by_name("x"), ci2 )
95 self.assertEqual( ly.cell_name(ci), "new_cell" )
96 self.assertEqual( ly.cell_name(ci2), "x" )
97
98 self.assertEqual( ly.under_construction(), False )
99 ly.start_changes()
100 self.assertEqual( ly.under_construction(), True )
101 ly.end_changes()
102 self.assertEqual( ly.under_construction(), False )
103
104 li = pya.LayerInfo()
105 li.layer = 16
106 li.datatype = 1
107 lindex = ly.insert_layer( li )
108 self.assertEqual( ly.is_valid_layer( lindex ), True )
109 self.assertEqual( ly.is_special_layer( lindex ), False )
110 self.assertEqual( ly.is_valid_layer( 1234 ), False )
111
112 li2 = ly.get_info( lindex ).dup()
113 self.assertEqual( li2.layer, li.layer )
114 self.assertEqual( li2.datatype, li.datatype )
115
116 li2.layer = 17
117 li2.datatype = 2
118

Callers

nothing calls this directly

Calls 15

has_cellMethod · 0.95
add_cellMethod · 0.95
cell_nameMethod · 0.95
cell_by_nameMethod · 0.95
rename_cellMethod · 0.95
start_changesMethod · 0.95
end_changesMethod · 0.95
insert_layerMethod · 0.95
delete_layerMethod · 0.95
LayoutMethod · 0.80
is_topMethod · 0.80
clear_instsMethod · 0.80

Tested by

no test coverage detected