Exemplo n.º 1
0
def test_ignore_non_gates():
    class Foo(Operator):
        @property
        def name(self) -> str:
            return "foo"

        def to_ir(self, target):
            return "foo"

    circ = Circuit().h(0).h(1).cnot(1,
                                    2).add_instruction(Instruction(Foo(), 0))
    expected = (
        "T  : |0|1|",
        "          ",
        "q0 : -H---",
        "          ",
        "q1 : -H-C-",
        "        | ",
        "q2 : ---X-",
        "",
        "T  : |0|1|",
    )
    expected = "\n".join(expected)
    assert AsciiCircuitDiagram.build_diagram(circ) == expected
Exemplo n.º 2
0
def test_str(h):
    expected = AsciiCircuitDiagram.build_diagram(h)
    assert str(h) == expected
def test_one_gate_one_qubit():
    circ = Circuit().h(0)
    expected = ("T  : |0|", "        ", "q0 : -H-", "", "T  : |0|")
    expected = "\n".join(expected)
    assert AsciiCircuitDiagram.build_diagram(circ) == expected
def test_empty_circuit():
    assert AsciiCircuitDiagram.build_diagram(Circuit()) == ""
Exemplo n.º 5
0
def _assert_correct_diagram(circ, expected):
    assert AsciiCircuitDiagram.build_diagram(circ) == "\n".join(expected)