Esempio n. 1
0
 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))
Esempio n. 3
0
 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)
Esempio n. 4
0
 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))
Esempio n. 5
0
 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))
Esempio n. 6
0
 def test_add_qubit_tuple_incorrect_form(self):
     coupling = _coupling.Coupling()
     self.assertRaises(_coupling.CouplingError, coupling.add_qubit,
                       ('q', '0'))
Esempio n. 7
0
 def test_add_qubit_not_tuple(self):
     coupling = _coupling.Coupling()
     self.assertRaises(_coupling.CouplingError, coupling.add_qubit, 'q0')
Esempio n. 8
0
 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))
Esempio n. 9
0
 def test_coupling_compute_distance_coupling_error(self):
     coupling = _coupling.Coupling()
     self.assertRaises(_coupling.CouplingError, coupling.compute_distance)
Esempio n. 10
0
 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))