Skip to content

Commit c5696b1

Browse files
committed
Add more unit tests for gaps
Signed-off-by: cwasicki <[email protected]>
1 parent 8da8583 commit c5696b1

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/timeseries/test_ringbuffer.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,35 @@ def test_timestamp_ringbuffer_missing_parameter(
192192
assert len(buffer.gaps) == 1
193193

194194

195+
def dt(i: int) -> datetime: # pylint: disable=invalid-name
196+
"""Create datetime objects from indices.
197+
198+
Args:
199+
i: Index to create datetime from.
200+
201+
Returns:
202+
Datetime object.
203+
"""
204+
return datetime.fromtimestamp(i, tz=timezone.utc)
205+
206+
207+
def test_gaps() -> None:
208+
"""Test gap treatment in ordered ring buffer."""
209+
buffer = OrderedRingBuffer([0.0] * 5, ONE_SECOND)
210+
assert len(buffer.gaps) == 0
211+
for i, d in enumerate(range(5)): # pylint: disable=invalid-name
212+
buffer.update(Sample(dt(i), Quantity(d)))
213+
assert len(buffer.gaps) == 0
214+
buffer.update(Sample(dt(6), Quantity(0)))
215+
assert len(buffer.gaps) == 1
216+
buffer.update(Sample(dt(3), None))
217+
assert len(buffer.gaps) == 2
218+
buffer.update(Sample(dt(3), Quantity(np.nan)))
219+
assert len(buffer.gaps) == 1 # should be 2
220+
buffer.update(Sample(dt(3), Quantity(3)))
221+
assert len(buffer.gaps) == 1
222+
223+
195224
@pytest.mark.parametrize(
196225
"buffer",
197226
[

0 commit comments

Comments
 (0)