def METHOD_NAME():
    """Tests the flatten and unflatten methods for GroverOperator."""
    work_wires = qml.wires.Wires((3, 4))
    op = qml.GroverOperator(wires=(0, 1, 2), work_wires=work_wires)
    data, metadata = op._flatten()
    assert data == tuple()
    assert len(metadata) == 2
    assert metadata[0] == op.wires
    assert metadata[1] == (("work_wires", work_wires),)
    # make sure metadata hashable
    assert hash(metadata)
    new_op = type(op)._unflatten(*op._flatten())
    assert qml.equal(op, new_op)
    assert new_op is not op