Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 4 additions & 11 deletions tests/test_targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -229,25 +229,18 @@ def test_get_unknown_device() -> None:
get_device(unknown_name)


class _DummyTarget(Target):
"""Very small Target subclass for tests."""

def __init__(self) -> None:
super().__init__(num_qubits=1)


def test_dynamic_device_registration() -> None:
"""A device registered at runtime should immediately be visible through the public helpers."""

@register_device("dummy_device")
def _dummy_factory() -> Target:
return _DummyTarget()
return Target(num_qubits=1)

names = get_available_device_names()
assert "dummy_device" in names

dev = get_device("dummy_device")
assert isinstance(dev, _DummyTarget)
assert isinstance(dev, Target)


def test_dynamic_gateset_registration() -> None:
Expand All @@ -272,14 +265,14 @@ def test_duplicate_device_registration() -> None:

@register_device("dup_device")
def _factory1() -> Target:
return _DummyTarget()
return Target(num_qubits=1)

# second registration with same name should fail
with pytest.raises(ValueError, match="already registered"):

@register_device("dup_device")
def _factory2() -> Target:
return _DummyTarget()
return Target(num_qubits=1)


def test_duplicate_gateset_registration() -> None:
Expand Down
Loading
Loading