Exemplo n.º 1
0
 def test_add_reg_duplicate_name(self):
     """Adding quantum registers with the same name is not allowed."""
     dag = DAGDependency()
     qr1 = QuantumRegister(3, 'qr')
     dag.add_qreg(qr1)
     qr2 = QuantumRegister(2, 'qr')
     self.assertRaises(DAGDependencyError, dag.add_qreg, qr2)
Exemplo n.º 2
0
 def test_add_qreg_creg(self):
     """add_qreg() and  add_creg() methods"""
     dag = DAGDependency()
     dag.add_qreg(QuantumRegister(2, 'qr'))
     dag.add_creg(ClassicalRegister(1, 'cr'))
     self.assertDictEqual(dag.qregs, {'qr': QuantumRegister(2, 'qr')})
     self.assertDictEqual(dag.cregs, {'cr': ClassicalRegister(1, 'cr')})
Exemplo n.º 3
0
 def test_add_qreg_creg(self):
     """add_qreg() and  add_creg() methods"""
     dag = DAGDependency()
     dag.add_qreg(QuantumRegister(2, "qr"))
     dag.add_creg(ClassicalRegister(1, "cr"))
     self.assertDictEqual(dag.qregs, {"qr": QuantumRegister(2, "qr")})
     self.assertDictEqual(dag.cregs, {"cr": ClassicalRegister(1, "cr")})
Exemplo n.º 4
0
    def setUp(self):
        self.dag = DAGDependency()
        self.qreg = QuantumRegister(2, 'qr')
        self.creg = ClassicalRegister(2, 'cr')

        self.dag.add_qreg(self.qreg)
        self.dag.add_creg(self.creg)
Exemplo n.º 5
0
 def setUp(self):
     super().setUp()
     self.dag = DAGDependency()
     self.qreg = QuantumRegister(2, "qr")
     self.creg = ClassicalRegister(2, "cr")
     self.dag.add_qreg(self.qreg)
     self.dag.add_creg(self.creg)
Exemplo n.º 6
0
    def test_add_registerless_bits(self):
        """Verify we can add are retrieve bits without an associated register."""
        qubits = [Qubit() for _ in range(5)]
        clbits = [Clbit() for _ in range(3)]

        dag = DAGDependency()
        dag.add_qubits(qubits)
        dag.add_clbits(clbits)

        self.assertEqual(dag.qubits, qubits)
        self.assertEqual(dag.clbits, clbits)
Exemplo n.º 7
0
    def test_add_duplicate_registerless_bits(self):
        """Verify we raise when adding a bit already present in the circuit."""
        qubits = [Qubit() for _ in range(5)]
        clbits = [Clbit() for _ in range(3)]

        dag = DAGDependency()
        dag.add_qubits(qubits)
        dag.add_clbits(clbits)

        with self.assertRaisesRegex(DAGDependencyError, r"duplicate qubits"):
            dag.add_qubits(qubits[:1])
        with self.assertRaisesRegex(DAGDependencyError, r"duplicate clbits"):
            dag.add_clbits(clbits[:1])
Exemplo n.º 8
0
 def test_dag_get_qubits(self):
     """get_qubits() method """
     dag = DAGDependency()
     dag.add_qreg(QuantumRegister(1, 'qr1'))
     dag.add_qreg(QuantumRegister(1, 'qr10'))
     dag.add_qreg(QuantumRegister(1, 'qr0'))
     dag.add_qreg(QuantumRegister(1, 'qr3'))
     dag.add_qreg(QuantumRegister(1, 'qr4'))
     dag.add_qreg(QuantumRegister(1, 'qr6'))
     self.assertListEqual(dag.qubits, [QuantumRegister(1, 'qr1')[0],
                                       QuantumRegister(1, 'qr10')[0],
                                       QuantumRegister(1, 'qr0')[0],
                                       QuantumRegister(1, 'qr3')[0],
                                       QuantumRegister(1, 'qr4')[0],
                                       QuantumRegister(1, 'qr6')[0]])
Exemplo n.º 9
0
 def test_dag_get_qubits(self):
     """get_qubits() method"""
     dag = DAGDependency()
     dag.add_qreg(QuantumRegister(1, "qr1"))
     dag.add_qreg(QuantumRegister(1, "qr10"))
     dag.add_qreg(QuantumRegister(1, "qr0"))
     dag.add_qreg(QuantumRegister(1, "qr3"))
     dag.add_qreg(QuantumRegister(1, "qr4"))
     dag.add_qreg(QuantumRegister(1, "qr6"))
     self.assertListEqual(
         dag.qubits,
         [
             QuantumRegister(1, "qr1")[0],
             QuantumRegister(1, "qr10")[0],
             QuantumRegister(1, "qr0")[0],
             QuantumRegister(1, "qr3")[0],
             QuantumRegister(1, "qr4")[0],
             QuantumRegister(1, "qr6")[0],
         ],
     )
Exemplo n.º 10
0
 def test_add_reg_bad_type(self):
     """add_qreg with a classical register is not allowed."""
     dag = DAGDependency()
     cr = ClassicalRegister(2)
     self.assertRaises(DAGDependencyError, dag.add_qreg, cr)
Exemplo n.º 11
0
 def test_add_reg_duplicate(self):
     """add_qreg with the same register twice is not allowed."""
     dag = DAGDependency()
     qr = QuantumRegister(2)
     dag.add_qreg(qr)
     self.assertRaises(DAGDependencyError, dag.add_qreg, qr)