@@ -204,51 +204,73 @@ def dt(i: int) -> datetime: # pylint: disable=invalid-name
204204 return datetime .fromtimestamp (i , tz = timezone .utc )
205205
206206
207- def test_gaps () -> None :
207+ def test_gaps () -> None : # pylint: disable=too-many-statements
208208 """Test gap treatment in ordered ring buffer."""
209209 buffer = OrderedRingBuffer ([0.0 ] * 5 , ONE_SECOND )
210+ assert buffer .oldest_timestamp is None
211+ assert buffer .newest_timestamp is None
210212 assert len (buffer ) == 0
211213 assert len (buffer .gaps ) == 0
212214
213215 buffer .update (Sample (dt (0 ), Quantity (0 )))
216+ assert buffer .oldest_timestamp == dt (0 )
217+ assert buffer .newest_timestamp == dt (0 )
214218 assert len (buffer ) == 1
215219 assert len (buffer .gaps ) == 1
216220
217221 buffer .update (Sample (dt (6 ), Quantity (0 )))
222+ assert buffer .oldest_timestamp == dt (6 )
223+ assert buffer .newest_timestamp == dt (6 )
218224 assert len (buffer ) == 1
219225 assert len (buffer .gaps ) == 1
220226
221227 buffer .update (Sample (dt (2 ), Quantity (2 )))
222228 buffer .update (Sample (dt (3 ), Quantity (3 )))
223229 buffer .update (Sample (dt (4 ), Quantity (4 )))
230+ assert buffer .oldest_timestamp == dt (2 )
231+ assert buffer .newest_timestamp == dt (6 )
224232 assert len (buffer ) == 4
225233 assert len (buffer .gaps ) == 1
226234
227235 buffer .update (Sample (dt (3 ), None ))
236+ assert buffer .oldest_timestamp == dt (2 )
237+ assert buffer .newest_timestamp == dt (6 )
228238 assert len (buffer ) == 3
229239 assert len (buffer .gaps ) == 2
230240
231241 buffer .update (Sample (dt (3 ), Quantity (np .nan )))
242+ assert buffer .oldest_timestamp == dt (2 )
243+ assert buffer .newest_timestamp == dt (6 )
232244 assert len (buffer ) == 3
233245 assert len (buffer .gaps ) == 2
234246
235247 buffer .update (Sample (dt (2 ), Quantity (np .nan )))
248+ assert buffer .oldest_timestamp == dt (4 )
249+ assert buffer .newest_timestamp == dt (6 )
236250 assert len (buffer ) == 2
237251 assert len (buffer .gaps ) == 2
238252
239253 buffer .update (Sample (dt (3 ), Quantity (3 )))
254+ assert buffer .oldest_timestamp == dt (3 )
255+ assert buffer .newest_timestamp == dt (6 )
240256 assert len (buffer ) == 3
241257 assert len (buffer .gaps ) == 2
242258
243259 buffer .update (Sample (dt (2 ), Quantity (2 )))
260+ assert buffer .oldest_timestamp == dt (2 )
261+ assert buffer .newest_timestamp == dt (6 )
244262 assert len (buffer ) == 4
245263 assert len (buffer .gaps ) == 1
246264
247265 buffer .update (Sample (dt (5 ), Quantity (5 )))
266+ assert buffer .oldest_timestamp == dt (2 )
267+ assert buffer .newest_timestamp == dt (6 )
248268 assert len (buffer ) == 5
249269 assert len (buffer .gaps ) == 0
250270
251271 buffer .update (Sample (dt (99 ), None ))
272+ assert buffer .oldest_timestamp == dt (95 ) # bug: should be None
273+ assert buffer .newest_timestamp == dt (99 ) # bug: should be None
252274 assert len (buffer ) == 4 # bug: should be 0 (whole range gap)
253275 assert len (buffer .gaps ) == 1
254276
0 commit comments