def test_qgeometry_q_element_get_component(self): """Test get_component in QGeometryTables class in element_handler.py.""" design = designs.DesignPlanar() qgt = QGeometryTables(design) qgt.clear_all_tables() TransmonPocket(design, 'Q1') rect = draw.rectangle(500, 300, 0, 0) geom = {'my_polygon': rect} qgt.add_qgeometry('poly', 'Q1', geom) # success results actual = qgt.get_component('Q1') self.assertEqual(len(actual), 3) self.assertTrue(isinstance(actual['path'], GeoDataFrame)) self.assertTrue(isinstance(actual['poly'], GeoDataFrame)) self.assertTrue(isinstance(actual['junction'], GeoDataFrame)) # failure results actual = qgt.get_component('not-real') self.assertEqual(len(actual), 3) self.assertEqual(actual['path'], None) self.assertEqual(actual['poly'], None) self.assertEqual(actual['junction'], None)
def test_qgeometry_q_element_delete_component_id(self): """Test delete_component_id in QGeometryTables class in element_handler.py.""" design = designs.DesignPlanar() qgt = QGeometryTables(design) qgt.clear_all_tables() transmon_pocket = TransmonPocket(design, 'my_id') transmon_pocket.make() transmon_pocket.get_template_options(design) a_linestring = draw.LineString([[0, 0], [0, 1]]) a_poly = draw.rectangle(2, 2, 0, 0) qgt.add_qgeometry('path', 'my_id', {'n_sprial': a_linestring}, width=4000) qgt.add_qgeometry('poly', 'my_id', {'n_spira_etch': a_poly}, subtract=True) self.assertEqual(len(qgt.tables['path']), 1) self.assertEqual(len(qgt.tables['poly']), 1) qgt.delete_component_id('my_id') self.assertEqual(len(qgt.tables['path']), 0) self.assertEqual(len(qgt.tables['poly']), 0)
def test_qgeometry_q_element_clear_all_tables(self): """Test clear_all_tables in QGeometryTables class in element_handler.py.""" design = designs.DesignPlanar() qgt = QGeometryTables(design) qgt.clear_all_tables() # add something to the tables to check for after clear a_poly = draw.rectangle(2, 2, 0, 0) qgt.add_qgeometry('poly', 'my_id', dict(cl_metal=a_poly)) qgt.clear_all_tables() self.assertEqual(len(qgt.tables['poly'].geometry), 0)
def test_qgeometry_get_all_unique_layers(self): """Test get_all_unique_layers functionality in elment_handler.py.""" design = designs.DesignPlanar() qgt = QGeometryTables(design) qgt.clear_all_tables() transmon_pocket = TransmonPocket(design, 'my_id') transmon_pocket.make() transmon_pocket.get_template_options(design) a_linestring = draw.LineString([[0, 0], [0, 1]]) a_poly = draw.rectangle(2, 2, 0, 0) qgt.add_qgeometry('path', 'my_id', {'n_sprial': a_linestring}, width=4000) qgt.add_qgeometry('poly', 'my_id', {'n_spira_etch': a_poly}, subtract=True) self.assertEqual(qgt.get_all_unique_layers('main'), [1]) self.assertEqual(qgt.get_all_unique_layers('fake'), [])
def test_qgeometry_q_element_add_qgeometry(self): """Test add_qgeometry in QGeometryTables class in element_handler.py.""" design = designs.DesignPlanar() qgt = QGeometryTables(design) qgt.clear_all_tables() a_poly = draw.rectangle(2, 2, 0, 0) qgt.add_qgeometry('poly', 'my_id', dict(cl_metal=a_poly)) table = qgt.tables self.assertTrue('poly' in table) self.assertEqual(table['poly']['component'][0], 'my_id') self.assertEqual(table['poly']['name'][0], 'cl_metal') self.assertEqual(table['poly']['geometry'][0], a_poly) self.assertEqual(table['poly']['layer'][0], 1) self.assertEqual(table['poly']['subtract'][0], False) self.assertEqual(table['poly']['helper'][0], False) self.assertEqual(table['poly']['chip'][0], 'main') self.assertEqual(str(table['poly']['fillet'][0]), str(np.nan))
def test_renderer_get_chip_names(self): """Test functionality of get_chip_names in gds_renderer.py.""" design = designs.DesignPlanar() renderer = QGDSRenderer(design) qgt = QGeometryTables(design) qgt.clear_all_tables() transmon_pocket_1 = TransmonPocket(design, 'my_id') transmon_pocket_1.make() transmon_pocket_1.get_template_options(design) a_linestring = draw.LineString([[0, 0], [0, 1]]) a_poly = draw.rectangle(2, 2, 0, 0) qgt.add_qgeometry('path', 'my_id', {'n_sprial': a_linestring}, width=4000) qgt.add_qgeometry('poly', 'my_id', {'n_spira_etch': a_poly}, subtract=True) result = renderer._get_chip_names() self.assertEqual(result, {'main': {}})