def test_copy(): term = PauliTerm('X', 0, 0.5) * PauliTerm('X', 1, 0.5) new_term = term.copy() term = term * PauliTerm('X', 2, 0.5) new_term = new_term * PauliTerm('X', 2, 0.5) assert term == new_term # value equality assert term is not new_term # ref inequality assert term._ops is not new_term._ops term = PauliTerm('X', 0, 0.5) * PauliTerm('X', 1, 0.5) new_term = term * PauliTerm('X', 2, 0.5) assert term != new_term assert term is not new_term assert term._ops is not new_term._ops
def test_copy(): q0, q1 = QubitPlaceholder.register(2) term = PauliTerm('X', q0, 0.5) * PauliTerm('X', q1, 0.5) new_term = term.copy() q2 = QubitPlaceholder() term = term * PauliTerm('X', q2, 0.5) new_term = new_term * PauliTerm('X', q2, 0.5) assert term == new_term # value equality assert term is not new_term # ref inequality assert term._ops is not new_term._ops term = PauliTerm('X', q0, 0.5) * PauliTerm('X', q1, 0.5) new_term = term * PauliTerm('X', q2, 0.5) assert term != new_term assert term is not new_term assert term._ops is not new_term._ops