(self)
| 680 | |
| 681 | # Properties |
| 682 | def test_6_Layout_props2(self): |
| 683 | |
| 684 | ly = pya.Layout(True) |
| 685 | pv = [ [ 17, "a" ], [ "b", [ 1, 5, 7 ] ] ] |
| 686 | pid = ly.properties_id( pv ) |
| 687 | # does not work? |
| 688 | # pv = { 17: "a", "b": [ 1, 5, 7 ] } |
| 689 | # pid2 = ly.properties_id( pv ) |
| 690 | # self.assertEqual( pid, pid2 ) |
| 691 | |
| 692 | ci1 = ly.add_cell( "c1" ) |
| 693 | ci2 = ly.add_cell( "c2" ) |
| 694 | |
| 695 | linfo = pya.LayerInfo() |
| 696 | linfo.layer = 16 |
| 697 | linfo.datatype = 1 |
| 698 | lindex = ly.insert_layer( linfo ) |
| 699 | |
| 700 | c1 = ly.cell( ci1 ) |
| 701 | c2 = ly.cell( ci2 ) |
| 702 | tr = pya.Trans() |
| 703 | inst = c2.insert( pya.CellInstArray( c1.cell_index(), tr ) ) |
| 704 | self.assertEqual( inst.parent_cell.name, c2.name ) |
| 705 | self.assertEqual( inst.cell.name, c1.name ) |
| 706 | self.assertEqual( repr(inst.layout()), repr(ly) ) |
| 707 | |
| 708 | s1 = c1.shapes( lindex ).insert( pya.Box( 10, -10, 50, 40 ), pid ) |
| 709 | s2 = c1.shapes( lindex ).insert( pya.Box( 10, -10, 50, 40 ) ) |
| 710 | self.assertEqual( repr(s1.property( 17 )), "\'a\'" ) |
| 711 | s1.set_property( 5, 23 ) |
| 712 | s1.delete_property( 17 ) |
| 713 | self.assertEqual( repr(s1.property( 17 )), "None" ) |
| 714 | self.assertEqual( str(s1.property( 5 )), "23" ) |
| 715 | self.assertEqual( repr(s2.property( 17 )), "None" ) |
| 716 | |
| 717 | self.assertEqual( repr(inst.property( "a" )), "None" ) |
| 718 | inst.set_property( "a", 33 ) |
| 719 | self.assertEqual( str(inst.property( "a" )), "33" ) |
| 720 | inst.delete_property( "a" ) |
| 721 | self.assertEqual( repr(inst.property( "a" )), "None" ) |
| 722 | |
| 723 | # cell properties |
| 724 | self.assertEqual( repr(c1.property( 17 )), "None" ) |
| 725 | c1.prop_id = pid |
| 726 | self.assertEqual( c1.prop_id, pid ) |
| 727 | self.assertEqual( repr(c1.property( 17 )), "\'a\'" ) |
| 728 | c1.set_property( 5, 23 ) |
| 729 | c1.delete_property( 17 ) |
| 730 | self.assertEqual( repr(c1.property( 17 )), "None" ) |
| 731 | self.assertEqual( str(c1.property( 5 )), "23" ) |
| 732 | |
| 733 | |
| 734 | # Instances and bboxes (editable mode) |
nothing calls this directly
no test coverage detected