def test_end_range_in_tumbling_window_is_within_range(self): tumbling = TumblingWindow(10) # tumbling windows only have one range base_range = tumbling.ranges(0)[0] base_range_end = base_range.end compare_range = tumbling.ranges(base_range_end)[0] assert base_range.start == compare_range.start assert base_range.end == compare_range.end
async def test_tumbling_window_ranges() -> None: """Test Faust tumbling window ranges.""" size = 1.0 window = TumblingWindow(size) # Test if a timestamp in the extremes of the window falls in the expected # window start = 0 end = 0.9 assert window.ranges(start) == [(start, end)] assert window.ranges(end) == [(start, end)] assert window.ranges(start + size) == [(start + size, end + size)] # Test if a timestamp between (start + end) and (start + size) falls # in the expected window assert window.ranges(start + end + 0.05) == [(start, end)]
def test_tumbling_window_has_just_one_range(self): tumbling = TumblingWindow(10) assert len(tumbling.ranges(0)) == 1 assert len(tumbling.ranges(5)) == 1 assert len(tumbling.ranges(10)) == 1
def test_earliest_and_current_range_are_the_same(self): size = 57 timestamp = 456 window = TumblingWindow(size) assert window.current(timestamp) == window.earliest(timestamp)