def test_qlibrary_delete_component(self):
        """
        Test delete_component in element_handler.py.
        """
        design = designs.DesignPlanar()
        transmon_pocket.TransmonPocket(design, 'Q1')
        transmon_pocket.TransmonPocket(design, 'Q2')
        transmon_pocket.TransmonPocket(design, 'Q3')

        before_junction_list = design.qgeometry.tables['junction'][
            'component'].tolist()
        before_poly_list = design.qgeometry.tables['poly']['component'].tolist(
        )

        component_id = design.components['Q2'].id
        design.qgeometry.delete_component_id(component_id)

        after_junction_list = design.qgeometry.tables['junction'][
            'component'].tolist()
        after_poly_list = design.qgeometry.tables['poly']['component'].tolist()

        self.assertTrue(component_id in before_junction_list)
        self.assertTrue(component_id in before_poly_list)
        self.assertFalse(component_id in after_junction_list)
        self.assertFalse(component_id in after_poly_list)
    def test_qlibrary_rename_component(self):
        """Test rename_component in element_handler.py."""
        design = designs.DesignPlanar()
        transmon_pocket.TransmonPocket(design, 'Q1')

        component_id = design.components['Q1'].id
        design.rename_component(component_id, 'Q1_new_name')

        self.assertEqual(design.components.keys(), ['Q1_new_name'])
    def test_qlibrary_get_component_geometry_dict(self):
        """Test get_component_geometry_dict in qgeometries_handler.py."""
        design = designs.DesignPlanar()
        transmon_pocket.TransmonPocket(design, 'Q1')
        transmon_pocket.TransmonPocket(design, 'Q2')

        q1_actual = (-0.2275, 0.015, 0.2275, 0.105)
        q2_actual = (-0.2275, -0.105, 0.2275, -0.015)

        q1_dict = design._qgeometry.get_component_geometry_dict('Q1')
        q2_dict = design._qgeometry.get_component_geometry_dict('Q2')
        q1_result = q1_dict['poly'][0].bounds
        q2_result = q2_dict['poly'][1].bounds

        self.assertEqual(len(q1_actual), len(q1_result))
        self.assertEqual(len(q2_actual), len(q2_result))

        for x, _ in enumerate(q1_actual):
            self.assertEqual(_, q1_result[x])

        for x, _ in enumerate(q2_actual):
            self.assertEqual(_, q2_result[x])
    def test_qlibrary_get_component_geometry_list(self):
        """Test get_component_geometry_list in qgeometries_handler.py."""
        design = designs.DesignPlanar()
        transmon_pocket.TransmonPocket(design, 'Q1')

        expected = [(-0.2275, 0.015, 0.2275, 0.105),
                    (-0.2275, -0.105, 0.2275, -0.015),
                    (-0.325, -0.325, 0.325, 0.325), (0.0, -0.015, 0.0, 0.015)]
        actual = design._qgeometry.get_component_geometry_list('Q1')
        self.assertEqual(len(actual), len(expected))
        length = len(expected)
        for x in range(length):
            self.assertEqual(len(expected[x]), len(actual[x].bounds))
            sub_length = len(expected[x])
            for y in range(sub_length):
                self.assertEqual(actual[x].bounds[y], expected[x][y])
Example #5
0
    def test_component_transmon_pocket_options(self):
        """
        Test that default options of transmon_pocket in transmon_pocket.py were not accidentally
        changed.
        """
        # Setup expected test results
        _design = designs.DesignPlanar()
        _transmon_pocket = transmon_pocket.TransmonPocket(_design, 'my_name')
        _options = _transmon_pocket.default_options

        # Test all elements of the result data against expected data
        self.assertEqual(len(_options), 10)
        self.assertEqual(_options['pos_x'], '0um')
        self.assertEqual(_options['pos_y'], '0um')
        self.assertEqual(_options['pad_gap'], '30um')
        self.assertEqual(_options['inductor_width'], '20um')
        self.assertEqual(_options['pad_width'], '455um')
        self.assertEqual(_options['pad_height'], '90um')
        self.assertEqual(_options['pocket_width'], '650um')
        self.assertEqual(_options['pocket_height'], '650um')
        self.assertEqual(_options['orientation'], '0')

        self.assertEqual(len(_options['_default_connection_pads']), 12)
        self.assertEqual(_options['_default_connection_pads']['pad_gap'],
                         '15um')
        self.assertEqual(_options['_default_connection_pads']['pad_width'],
                         '125um')
        self.assertEqual(_options['_default_connection_pads']['pad_height'],
                         '30um')
        self.assertEqual(_options['_default_connection_pads']['pad_cpw_shift'],
                         '5um')
        self.assertEqual(_options['_default_connection_pads']['pad_cpw_extent'],
                         '25um')
        self.assertEqual(_options['_default_connection_pads']['cpw_width'],
                         'cpw_width')
        self.assertEqual(_options['_default_connection_pads']['cpw_gap'],
                         'cpw_gap')
        self.assertEqual(_options['_default_connection_pads']['cpw_extend'],
                         '100um')
        self.assertEqual(_options['_default_connection_pads']['pocket_extent'],
                         '5um')
        self.assertEqual(_options['_default_connection_pads']['pocket_rise'],
                         '65um')
        self.assertEqual(_options['_default_connection_pads']['loc_W'], '+1')
        self.assertEqual(_options['_default_connection_pads']['loc_H'], '+1')