Skip to content

Commit

Permalink
add read_one and supporting methods
Browse files Browse the repository at this point in the history
  • Loading branch information
avaldebe committed Nov 28, 2022
1 parent 6c75e71 commit 08a613f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
9 changes: 9 additions & 0 deletions src/pms/core/reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,15 @@ def __call__(self, *, raw: bool | None = None) -> Iterator[RawData | ObsData]:
"""
...

def start(self) -> None:
self.__enter__()

def read_one(self, *, raw: bool | None = None) -> RawData | ObsData:
return next(self(raw=raw))

def stop(self) -> None:
self.__exit__(None, None, None)


class SensorReader(Reader):
"""Read sensor messages from serial port
Expand Down
11 changes: 4 additions & 7 deletions tests/core/test_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,17 @@ class MockReader(reader.Reader):
def __init__(self, raise_on_enter=False):
self.raise_on_enter = raise_on_enter

def read_one(self):
raise NotImplemented

def __call__(self):
raise NotImplemented

def open(self):
def __exit__(self, *args, **kwargs):
self.exited = True

def __enter__(self):
if self.raise_on_enter:
raise reader.UnableToRead()
self.entered = True

def close(self):
self.exited = True


@pytest.fixture
def mock_sleep(monkeypatch):
Expand Down

0 comments on commit 08a613f

Please sign in to comment.