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

Method test_bug109

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

Source from the content-addressed store, hash-verified

1116
1117 # Bug #109
1118 def test_bug109(self):
1119
1120 testtmp = os.getenv("TESTTMP_WITH_NAME", os.getenv("TESTTMP", "."))
1121
1122 file_gds = os.path.join(testtmp, "bug109.gds")
1123 file_oas = os.path.join(testtmp, "bug109.oas")
1124
1125 ly = pya.Layout()
1126 top = ly.create_cell("TOP")
1127 l1 = ly.layer(1, 0)
1128 shape = top.shapes(l1).insert(pya.Box(0, 10, 20, 30))
1129 shape.set_property(2, "hello, world")
1130 shape.set_property("42", "the answer")
1131
1132 ly.write(file_gds)
1133
1134 opt = pya.SaveLayoutOptions()
1135 opt.format = "OASIS"
1136 opt.oasis_strict_mode = False
1137 ly.write(file_oas, opt)
1138
1139 ly2 = pya.Layout()
1140 ly2.read(file_gds)
1141 l2 = ly2.layer(1, 0)
1142 shape = None
1143 for s in ly2.top_cell().shapes(l2).each():
1144 shape = s
1145 self.assertEqual(shape.property(2), "hello, world")
1146 self.assertEqual(shape.property("2"), None)
1147 self.assertEqual(shape.property(2.0), None)
1148 self.assertEqual(shape.property(22), None)
1149 self.assertEqual(shape.property(42), "the answer")
1150 self.assertEqual(shape.property("42"), None)
1151 self.assertEqual(shape.property(42.0), None)
1152
1153 ly2 = pya.Layout()
1154 ly2.read(file_oas)
1155 l2 = ly2.layer(1, 0)
1156 shape = None
1157 for s in ly2.top_cell().shapes(l2).each():
1158 shape = s
1159 self.assertEqual(shape.property(2), "hello, world")
1160 self.assertEqual(shape.property("2"), None)
1161 self.assertEqual(shape.property(2.0), None)
1162 self.assertEqual(shape.property(22), None)
1163 self.assertEqual(shape.property("42"), "the answer")
1164 self.assertEqual(shape.property(42), None)
1165 self.assertEqual(shape.property(42.0), None)
1166
1167 # Bug #1397
1168 def test_bug1397(self):

Callers

nothing calls this directly

Calls 12

LayoutMethod · 0.80
set_propertyMethod · 0.80
SaveLayoutOptionsMethod · 0.80
eachMethod · 0.80
joinMethod · 0.45
create_cellMethod · 0.45
layerMethod · 0.45
insertMethod · 0.45
BoxMethod · 0.45
writeMethod · 0.45
readMethod · 0.45
propertyMethod · 0.45

Tested by

no test coverage detected