@@ -210,18 +210,21 @@ def test_gaps() -> None: # pylint: disable=too-many-statements
210210 assert buffer .oldest_timestamp is None
211211 assert buffer .newest_timestamp is None
212212 assert buffer .count_valid () == 0
213+ assert buffer .count_covered == 0
213214 assert len (buffer .gaps ) == 0
214215
215216 buffer .update (Sample (dt (0 ), Quantity (0 )))
216217 assert buffer .oldest_timestamp == dt (0 )
217218 assert buffer .newest_timestamp == dt (0 )
218219 assert buffer .count_valid () == 1
220+ assert buffer .count_covered == 1
219221 assert len (buffer .gaps ) == 1
220222
221223 buffer .update (Sample (dt (6 ), Quantity (0 )))
222224 assert buffer .oldest_timestamp == dt (6 )
223225 assert buffer .newest_timestamp == dt (6 )
224226 assert buffer .count_valid () == 1
227+ assert buffer .count_covered == 1
225228 assert len (buffer .gaps ) == 1
226229
227230 buffer .update (Sample (dt (2 ), Quantity (2 )))
@@ -230,48 +233,57 @@ def test_gaps() -> None: # pylint: disable=too-many-statements
230233 assert buffer .oldest_timestamp == dt (2 )
231234 assert buffer .newest_timestamp == dt (6 )
232235 assert buffer .count_valid () == 4
236+ assert buffer .count_covered == 5
233237 assert len (buffer .gaps ) == 1
234238
235239 buffer .update (Sample (dt (3 ), None ))
236240 assert buffer .oldest_timestamp == dt (2 )
237241 assert buffer .newest_timestamp == dt (6 )
238242 assert buffer .count_valid () == 3
243+ assert buffer .count_covered == 5
239244 assert len (buffer .gaps ) == 2
240245
241246 buffer .update (Sample (dt (3 ), Quantity (np .nan )))
242247 assert buffer .oldest_timestamp == dt (2 )
243248 assert buffer .newest_timestamp == dt (6 )
244249 assert buffer .count_valid () == 3
250+ assert buffer .count_covered == 5
245251 assert len (buffer .gaps ) == 2
246252
247253 buffer .update (Sample (dt (2 ), Quantity (np .nan )))
248254 assert buffer .oldest_timestamp == dt (4 )
249255 assert buffer .newest_timestamp == dt (6 )
250256 assert buffer .count_valid () == 2
257+ assert buffer .count_covered == 3
251258 assert len (buffer .gaps ) == 2
252259
253260 buffer .update (Sample (dt (3 ), Quantity (3 )))
254261 assert buffer .oldest_timestamp == dt (3 )
255262 assert buffer .newest_timestamp == dt (6 )
256263 assert buffer .count_valid () == 3
264+ assert buffer .count_covered == 4
257265 assert len (buffer .gaps ) == 2
258266
259267 buffer .update (Sample (dt (2 ), Quantity (2 )))
260268 assert buffer .oldest_timestamp == dt (2 )
261269 assert buffer .newest_timestamp == dt (6 )
262270 assert buffer .count_valid () == 4
271+ assert buffer .count_covered == 5
263272 assert len (buffer .gaps ) == 1
264273
265274 buffer .update (Sample (dt (5 ), Quantity (5 )))
266275 assert buffer .oldest_timestamp == dt (2 )
267276 assert buffer .newest_timestamp == dt (6 )
268277 assert buffer .count_valid () == 5
278+ assert buffer .count_covered == 5
269279 assert len (buffer .gaps ) == 0
270280
281+ # whole range gap suffers from sdk#646
271282 buffer .update (Sample (dt (99 ), None ))
272283 assert buffer .oldest_timestamp == dt (95 ) # bug: should be None
273284 assert buffer .newest_timestamp == dt (99 ) # bug: should be None
274285 assert buffer .count_valid () == 4 # bug: should be 0 (whole range gap)
286+ assert buffer .count_covered == 5 # bug: should be 0
275287 assert len (buffer .gaps ) == 1
276288
277289
0 commit comments