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

Method test_5

testdata/python/layLayers.py:822–911  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

820
821 # delete method of iterator
822 def test_5(self):
823
824 if not can_create_layoutview():
825 print("Skipped test as LayoutView cannot be created.")
826 return
827
828 cv = pya.LayoutView()
829 cv.load_layout(os.getenv("TESTSRC") + "/testdata/gds/t11.gds", True)
830
831 cv.clear_layers()
832
833 new_p = pya.LayerProperties()
834 new_p.source = "1/0@1"
835 cv.insert_layer(0, cv.end_layers(), new_p)
836
837 new_p = pya.LayerProperties()
838 new_p.source = "2/0@1"
839 cv.insert_layer(0, cv.end_layers(), new_p)
840
841 pos = cv.begin_layers()
842
843 self.assertEqual(self.lnodes_str("", cv.begin_layers()), "1/0@1\n2/0@1\n")
844 self.assertEqual(pos.at_end(), False)
845 self.assertEqual(pos.current().source, "1/0@1")
846 self.assertEqual(pos.current().is_valid(), True)
847
848 pos.current().delete()
849
850 self.assertEqual(pos.current().source, "2/0@1")
851 self.assertEqual(pos.current().is_valid(), True)
852 self.assertEqual(self.lnodes_str("", cv.begin_layers()), "2/0@1\n")
853 self.assertEqual(pos.at_end(), False)
854
855 pos.current().delete()
856
857 self.assertEqual(pos.current().is_valid(), False)
858 self.assertEqual(self.lnodes_str("", cv.begin_layers()), "")
859 self.assertEqual(pos.at_end(), True)
860
861 pos.current().delete()
862
863 self.assertEqual(pos.current().is_valid(), False)
864 self.assertEqual(self.lnodes_str("", cv.begin_layers()), "")
865 self.assertEqual(pos.at_end(), True)
866
867 # With hierarchy
868 cv.clear_layers()
869
870 new_p = pya.LayerProperties()
871 new_p.source = "1/0@1"
872 cv.insert_layer(0, cv.end_layers(), new_p)
873
874 new_p = pya.LayerProperties()
875 new_p.source = "2/0@1"
876 cv.insert_layer(0, cv.end_layers(), new_p)
877
878 new_p = pya.LayerProperties()
879 new_p.source = "3/0@1"

Callers

nothing calls this directly

Calls 13

lnodes_strMethod · 0.95
clear_layersMethod · 0.80
end_layersMethod · 0.80
begin_layersMethod · 0.80
can_create_layoutviewFunction · 0.70
LayoutViewMethod · 0.45
load_layoutMethod · 0.45
LayerPropertiesMethod · 0.45
insert_layerMethod · 0.45
at_endMethod · 0.45
currentMethod · 0.45
is_validMethod · 0.45

Tested by

no test coverage detected