watermark_tracker_ut.cpp 850 B

1234567891011121314151617181920212223242526
  1. #include "watermark_tracker.h"
  2. #include <util/system/types.h>
  3. #include <library/cpp/testing/unittest/registar.h>
  4. namespace NKikimr {
  5. namespace NMiniKQL {
  6. Y_UNIT_TEST_SUITE(TWatermarkTrackerTest) {
  7. Y_UNIT_TEST(WhenNotGranularShouldNotMoveWatermark) {
  8. TWatermarkTracker tracker(15, 10);
  9. UNIT_ASSERT_EQUAL(tracker.HandleNextEventTime(25), 10);
  10. UNIT_ASSERT_EQUAL(tracker.HandleNextEventTime(26), std::nullopt);
  11. UNIT_ASSERT_EQUAL(tracker.HandleNextEventTime(30), std::nullopt);
  12. UNIT_ASSERT_EQUAL(tracker.HandleNextEventTime(34), std::nullopt);
  13. }
  14. Y_UNIT_TEST(WhenGranularShouldMoveWatermark) {
  15. TWatermarkTracker tracker(15, 10);
  16. UNIT_ASSERT_EQUAL(tracker.HandleNextEventTime(35), 20);
  17. UNIT_ASSERT_EQUAL(tracker.HandleNextEventTime(45), 30);
  18. }
  19. }
  20. } // NMiniKQL
  21. } // NKikimr