(self)
| 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 |
nothing calls this directly
no test coverage detected