def test_type_invalid_2(self, not_an_int: Any) -> None: circuit = Circuit(4, [2, 2, 3, 3]) try: circuit.point(not_an_int) except TypeError: return except BaseException: assert False, 'Unexpected Exception.'
def test_type_valid_4(self) -> None: circuit = Circuit(4, [2, 2, 3, 3]) try: circuit.point(Operation(HGate(), [0])) except TypeError: assert False, 'Unexpected TypeError.' except BaseException: return
def test_type_valid_1(self) -> None: circuit = Circuit(1) try: circuit.point(HGate()) except TypeError: assert False, 'Unexpected TypeError.' except BaseException: return
def test_invalid_value_2(self) -> None: circuit = Circuit(2) circuit.append_gate(HGate(), [0]) circuit.append_gate(CNOTGate(), [0, 1]) try: circuit.point(XGate()) except ValueError: return assert False, 'Should not have reached here.'
def test_example(self) -> None: circuit = Circuit(1) opH = Operation(HGate(), [0]) circuit.append(opH) assert circuit.point(opH).__repr__( ) == 'CircuitPoint(cycle=0, qudit=0)' opX = Operation(XGate(), [0]) circuit.append(opX) assert circuit.point(opX).__repr__( ) == 'CircuitPoint(cycle=1, qudit=0)'
def test_correctness_1(self, r6_qudit_circuit: Circuit) -> None: for x in range(r6_qudit_circuit.get_num_cycles()): for y in range(r6_qudit_circuit.get_size()): op = r6_qudit_circuit._circuit[x][y] if op is not None: point = r6_qudit_circuit.point(op, (x, y)) assert r6_qudit_circuit.get_operation(point) is op point = r6_qudit_circuit.point(op, (x, y), (x, y)) assert r6_qudit_circuit.get_operation(point) is op point = r6_qudit_circuit.point(op.gate, (x, y)) assert r6_qudit_circuit.get_operation(point) is op point = r6_qudit_circuit.point(op.gate, (x, y), (x, y)) assert r6_qudit_circuit.get_operation(point) is op
def test_return_type(self) -> None: circuit = Circuit(5) for i in range(5): circuit.append_gate(HGate(), [0]) circuit.append_gate(HGate(), [1]) circuit.append_gate(HGate(), [2]) circuit.append_gate(HGate(), [3]) circuit.append_gate(HGate(), [4]) assert isinstance(circuit.point(HGate()), CircuitPoint)
def test_correctness_2(self) -> None: circuit = Circuit(2) circuit.append_gate(HGate(), [0]) circuit.append_gate(CNOTGate(), [0, 1]) assert circuit.point(HGate()) == (0, 0) assert circuit.point(CNOTGate()) == (1, 0) assert circuit.point(Operation(HGate(), [0])) == (0, 0) assert circuit.point(Operation(CNOTGate(), [0, 1])) == (1, 0) try: circuit.point(Operation(CNOTGate(), [1, 0])) except ValueError: return assert False, 'Should not have reached here.'