@@ -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