예제 #1
0
 def test_value_invalid3(self) -> None:
     circuit = Circuit(1)
     try:
         circuit.append_qudit(1)
     except ValueError:
         return
     except BaseException:
         assert False, 'Unexpected Exception.'
예제 #2
0
 def test_type_invalid_2(self, not_an_int: Any) -> None:
     circuit = Circuit(4, [2, 2, 3, 3])
     try:
         circuit.append_qudit(not_an_int)
     except TypeError:
         return
     except BaseException:
         assert False, 'Unexpected Exception.'
예제 #3
0
 def test_type_valid_2(self, an_int: int) -> None:
     circuit = Circuit(4, [2, 2, 3, 3])
     try:
         circuit.append_qudit(an_int)
     except TypeError:
         assert False, 'Unexpected TypeError.'
     except BaseException:
         return
예제 #4
0
 def test_append_gate(self) -> None:
     circuit = Circuit(4)
     circuit.append_gate(CNOTGate(), [0, 1])
     circuit.append_gate(CNOTGate(), [1, 2])
     circuit.append_gate(CNOTGate(), [2, 3])
     circuit.append_qudit()
     circuit.append_gate(CNOTGate(), [3, 4])
     assert circuit.get_size() == 5
     assert circuit[3, 4].gate == CNOTGate()
예제 #5
0
 def test_default(self) -> None:
     circuit = Circuit(1)
     assert circuit.get_size() == 1
     assert circuit.get_dim() == 2
     assert len(circuit.get_radixes()) == 1
     circuit.append_qudit()
     assert circuit.get_size() == 2
     assert circuit.get_dim() == 4
     assert len(circuit.get_radixes()) == 2
     circuit.append_qudit()
     assert circuit.get_size() == 3
     assert circuit.get_dim() == 8
     assert len(circuit.get_radixes()) == 3
예제 #6
0
 def test_qutrit(self) -> None:
     circuit = Circuit(1, [3])
     assert circuit.get_size() == 1
     assert circuit.get_dim() == 3
     assert len(circuit.get_radixes()) == 1
     circuit.append_qudit(3)
     assert circuit.get_size() == 2
     assert circuit.get_dim() == 9
     assert len(circuit.get_radixes()) == 2
     circuit.append_qudit(3)
     assert circuit.get_size() == 3
     assert circuit.get_dim() == 27
     assert len(circuit.get_radixes()) == 3
예제 #7
0
 def test_hybrid(self) -> None:
     circuit = Circuit(1)
     assert circuit.get_size() == 1
     assert circuit.get_dim() == 2
     assert len(circuit.get_radixes()) == 1
     circuit.append_qudit(4)
     assert circuit.get_size() == 2
     assert circuit.get_dim() == 8
     assert len(circuit.get_radixes()) == 2
     assert circuit.get_radixes()[0] == 2
     assert circuit.get_radixes()[1] == 4
     circuit.append_qudit(3)
     assert circuit.get_size() == 3
     assert circuit.get_dim() == 24
     assert len(circuit.get_radixes()) == 3
     assert circuit.get_radixes()[0] == 2
     assert circuit.get_radixes()[1] == 4
     assert circuit.get_radixes()[2] == 3