def test_empty_coupling_class(self): coupling = _coupling.Coupling() self.assertEqual(0, coupling.size()) self.assertEqual([], coupling.get_qubits()) self.assertEqual([], coupling.get_edges()) self.assertFalse(coupling.connected()) self.assertEqual("", str(coupling))
def test_add_edge(self): coupling = _coupling.Coupling() self.assertEqual("", str(coupling)) coupling.add_edge((QuantumRegister(2, 'q'), 0), (QuantumRegister(1, 'q'), 1)) expected = ("qubits: q[0] @ 1, q[1] @ 2\n" "edges: q[0]-q[1]") self.assertEqual(expected, str(coupling))
def test_coupling_compute_distance(self): coupling_dict = {0: [1, 2], 1: [2]} coupling = _coupling.Coupling(coupling_dict) self.assertTrue(coupling.connected()) coupling.compute_distance() qubits = coupling.get_qubits() result = coupling.distance(qubits[0], qubits[1]) self.assertEqual(1, result)
def test_distance_error(self): """Test distance method validation.""" graph = _coupling.Coupling({0: [1, 2], 1: [2]}) self.assertRaises(_coupling.CouplingError, graph.distance, ('q0', 0), ('q1', 1))
def test_add_edge(self): coupling = _coupling.Coupling() self.assertEqual("", str(coupling)) coupling.add_edge(("q", 0), ('q', 1)) expected = ("qubits: q[0] @ 1, q[1] @ 2\n" "edges: q[0]-q[1]") self.assertEqual(expected, str(coupling))
def test_add_qubit_tuple_incorrect_form(self): coupling = _coupling.Coupling() self.assertRaises(_coupling.CouplingError, coupling.add_qubit, ('q', '0'))
def test_add_qubit_not_tuple(self): coupling = _coupling.Coupling() self.assertRaises(_coupling.CouplingError, coupling.add_qubit, 'q0')
def test_add_qubit(self): coupling = _coupling.Coupling() self.assertEqual("", str(coupling)) coupling.add_qubit(('q', 0)) self.assertEqual("qubits: q[0] @ 1", str(coupling))
def test_coupling_compute_distance_coupling_error(self): coupling = _coupling.Coupling() self.assertRaises(_coupling.CouplingError, coupling.compute_distance)
def test_coupling_str(self): coupling_dict = {0: [1, 2], 1: [2]} coupling = _coupling.Coupling(coupling_dict) expected = ("qubits: q[0] @ 1, q[1] @ 2, q[2] @ 3\n" "edges: q[0]-q[1], q[0]-q[2], q[1]-q[2]") self.assertEqual(expected, str(coupling))
def test_add_qubit_tuple_incorrect_form(self): coupling = _coupling.Coupling() self.assertRaises(_coupling.CouplingError, coupling.add_qubit, (QuantumRegister(1, 'q'), '0'))
def test_add_qubit_not_tuple(self): coupling = _coupling.Coupling() self.assertRaises(_coupling.CouplingError, coupling.add_qubit, QuantumRegister(1, 'q0'))
def test_add_qubit(self): coupling = _coupling.Coupling() self.assertEqual("", str(coupling)) coupling.add_qubit((QuantumRegister(1, 'q'), 0)) self.assertEqual("qubits: q[0] @ 1", str(coupling))