Skip to content

Commit fd84793

Browse files
authored
Merge pull request #80 from AllenNeuralDynamics/fix-null-readparams
Fix edge case where `DataStream[None, None]` was not allowed
2 parents d1a995a + e3b2007 commit fd84793

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/contraqctor/contract/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ def __init__(
5959
name: str,
6060
*,
6161
description: Optional[str] = None,
62-
reader_params: Optional[_typing.TReaderParams] = None,
62+
reader_params: _typing.TReaderParams = _typing.UnsetParams,
6363
**kwargs,
6464
) -> None:
6565
if "::" in name:
6666
raise ValueError("Name cannot contain '::' character.")
6767
self._name = name
6868

6969
self._description = description
70-
self._reader_params = reader_params if reader_params is not None else _typing.UnsetParams
70+
self._reader_params = reader_params
7171
self._data = _typing.UnsetData
7272
self._parent: Optional["DataStream"] = None
7373

tests/test_contract/test_core.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from conftest import SimpleDataStream, SimpleParams
33

44
from contraqctor import _typing
5-
from contraqctor.contract.base import DataStreamCollection
5+
from contraqctor.contract.base import DataStream, DataStreamCollection
66

77

88
class TestDataStream:
@@ -88,6 +88,18 @@ def test_clear_data(self, text_file):
8888
with pytest.raises(ValueError):
8989
_ = stream.data # Accessing data after clearing should raise ValueError
9090

91+
def test_null_data_stream(self):
92+
"""Test DataStream with None data type."""
93+
94+
class _NullDataStream(DataStream[None, None]):
95+
@staticmethod
96+
def _reader(params: None = None) -> None:
97+
return None
98+
99+
null_stream = _NullDataStream(name="null_stream", description="Null data stream", reader_params=None)
100+
null_stream.load()
101+
assert null_stream.data is None
102+
91103

92104
class TestDataStreamCollection:
93105
"""Tests for the DataStreamCollection anonymous class."""

0 commit comments

Comments
 (0)