(self)
| 232 | self.assertEqual("PCellDeclarationHelper" in pya.__all__, True) |
| 233 | |
| 234 | def test_1(self): |
| 235 | |
| 236 | # instantiate and register the library |
| 237 | tl = PCellTestLib() |
| 238 | |
| 239 | ly = pya.Layout(True) |
| 240 | ly.dbu = 0.01 |
| 241 | |
| 242 | li1 = find_layer(ly, "1/0") |
| 243 | self.assertEqual(li1 == None, True) |
| 244 | |
| 245 | ci1 = ly.add_cell("c1") |
| 246 | c1 = ly.cell(ci1) |
| 247 | |
| 248 | lib = pya.Library.library_by_name("NoLib") |
| 249 | self.assertEqual(lib == None, True) |
| 250 | lib = pya.Library.library_by_name("PCellTestLib") |
| 251 | self.assertEqual(lib != None, True) |
| 252 | pcell_decl = lib.layout().pcell_declaration("x") |
| 253 | self.assertEqual(pcell_decl == None, True) |
| 254 | pcell_decl = lib.layout().pcell_declaration("Box") |
| 255 | self.assertEqual(pcell_decl != None, True) |
| 256 | pcell_decl_id = lib.layout().pcell_id("Box") |
| 257 | self.assertEqual(pcell_decl.id(), pcell_decl_id) |
| 258 | self.assertEqual(":".join(lib.layout().pcell_names()), "Box") |
| 259 | self.assertEqual(lib.layout().pcell_ids(), [ pcell_decl_id ]) |
| 260 | self.assertEqual(lib.layout().pcell_declaration(pcell_decl_id).id(), pcell_decl_id) |
| 261 | |
| 262 | param = [ pya.LayerInfo(1, 0) ] # rest is filled with defaults |
| 263 | pcell_var_id = ly.add_pcell_variant(lib, pcell_decl_id, param) |
| 264 | pcell_var = ly.cell(pcell_var_id) |
| 265 | pcell_inst = c1.insert(pya.CellInstArray(pcell_var_id, pya.Trans())) |
| 266 | self.assertEqual(pcell_var.layout().__repr__(), ly.__repr__()) |
| 267 | self.assertEqual(pcell_var.library().__repr__(), lib.__repr__()) |
| 268 | self.assertEqual(pcell_var.is_pcell_variant(), True) |
| 269 | self.assertEqual(pcell_var.display_title(), "PCellTestLib.Box(L=1/0,W=1.000,H=1.000)") |
| 270 | self.assertEqual(pcell_var.basic_name(), "Box") |
| 271 | self.assertEqual(pcell_var.qname(), "PCellTestLib.Box") |
| 272 | self.assertEqual(pcell_var.name, "Box_L1d0_W1p000_H1p000") |
| 273 | self.assertEqual(pcell_var.pcell_declaration().wants_lazy_evaluation(), False) |
| 274 | self.assertEqual(c1.is_pcell_variant(), False) |
| 275 | self.assertEqual(c1.is_pcell_variant(pcell_inst), True) |
| 276 | self.assertEqual(pcell_var.pcell_id(), pcell_decl_id) |
| 277 | self.assertEqual(pcell_var.pcell_library().__repr__(), lib.__repr__()) |
| 278 | self.assertEqual(pcell_var.pcell_parameters().__repr__(), "[<1/0>, 1.0, 1.0]") |
| 279 | self.assertEqual(nh(pcell_var.pcell_parameters_by_name()), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}") |
| 280 | self.assertEqual(pcell_var.pcell_parameter("h").__repr__(), "1.0") |
| 281 | self.assertEqual(c1.pcell_parameters(pcell_inst).__repr__(), "[<1/0>, 1.0, 1.0]") |
| 282 | self.assertEqual(nh(c1.pcell_parameters_by_name(pcell_inst)), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}") |
| 283 | self.assertEqual(c1.pcell_parameter(pcell_inst, "h").__repr__(), "1.0") |
| 284 | self.assertEqual(nh(pcell_inst.pcell_parameters_by_name()), "{'h': 1.0, 'l': <1/0>, 'w': 1.0}") |
| 285 | self.assertEqual(pcell_inst["h"].__repr__(), "1.0") |
| 286 | self.assertEqual(pcell_inst["i"].__repr__(), "None") |
| 287 | self.assertEqual(pcell_inst.pcell_parameter("h").__repr__(), "1.0") |
| 288 | self.assertEqual(pcell_var.pcell_declaration().__repr__(), pcell_decl.__repr__()) |
| 289 | self.assertEqual(c1.pcell_declaration(pcell_inst).__repr__(), pcell_decl.__repr__()) |
| 290 | self.assertEqual(pcell_inst.pcell_declaration().__repr__(), pcell_decl.__repr__()) |
| 291 |
nothing calls this directly
no test coverage detected