(self)
| 419 | |
| 420 | # Instances and editable mode |
| 421 | def test_6_EditableLayout(self): |
| 422 | |
| 423 | ly = pya.Layout( True ) |
| 424 | self.assertEqual( ly.is_editable(), True ) |
| 425 | |
| 426 | ci1 = ly.add_cell( "c1" ) |
| 427 | ci2 = ly.add_cell( "c2" ) |
| 428 | |
| 429 | c1 = ly.cell( ci1 ) |
| 430 | c2 = ly.cell( ci2 ) |
| 431 | |
| 432 | tr = pya.CplxTrans( 1.5, 90.0, True, pya.DPoint( 100, -50 ) ) |
| 433 | inst = pya.CellInstArray( c1.cell_index(), tr ) |
| 434 | inst_ret = c2.insert( inst ) |
| 435 | self.assertEqual( inst_ret.trans.to_s(), "m45 100,-50" ) |
| 436 | inst = pya.CellInstArray( c1.cell_index(), pya.CplxTrans() ) |
| 437 | inst_ret.cell_inst = inst |
| 438 | self.assertEqual( inst_ret.trans.to_s(), "r0 0,0" ) |
| 439 | |
| 440 | manager = pya.Manager() |
| 441 | |
| 442 | ly = pya.Layout( True, manager ) |
| 443 | self.assertEqual( ly.is_editable(), True ) |
| 444 | |
| 445 | ci1 = ly.add_cell( "c1" ) |
| 446 | ci2 = ly.add_cell( "c2" ) |
| 447 | |
| 448 | c1 = ly.cell( ci1 ) |
| 449 | c2 = ly.cell( ci2 ) |
| 450 | |
| 451 | tr = pya.CplxTrans( 1.5, 90.0, True, pya.DPoint( 100, -50 ) ) |
| 452 | inst = pya.CellInstArray( c1.cell_index(), tr ) |
| 453 | inst_ret = c2.insert( inst ) |
| 454 | self.assertEqual( inst_ret.trans.to_s(), "m45 100,-50" ) |
| 455 | manager.transaction( "trans" ) |
| 456 | inst = pya.CellInstArray( c1.cell_index(), pya.CplxTrans() ) |
| 457 | inst_ret.cell_inst = inst |
| 458 | self.assertEqual( inst_ret.trans.to_s(), "r0 0,0" ) |
| 459 | manager.commit() |
| 460 | manager.undo() |
| 461 | c2 = ly.cell( ci2 ) |
| 462 | for i in c2.each_inst(): |
| 463 | inst_ret = i |
| 464 | break |
| 465 | self.assertEqual( inst_ret.trans.to_s(), "m45 100,-50" ) |
| 466 | |
| 467 | manager = None |
| 468 | |
| 469 | ly = pya.Layout( False ) |
| 470 | self.assertEqual( ly.is_editable(), False ) |
| 471 | |
| 472 | ci1 = ly.add_cell( "c1" ) |
| 473 | ci2 = ly.add_cell( "c2" ) |
| 474 | |
| 475 | c1 = ly.cell( ci1 ) |
| 476 | c2 = ly.cell( ci2 ) |
| 477 | |
| 478 | tr = pya.CplxTrans( 1.5, 90.0, True, pya.DPoint( 100, -50 ) ) |
nothing calls this directly
no test coverage detected