@Test public void testBuild_Windowing() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 3); CountByKey.named("CountByKey1") .of(dataset) .keyBy(s -> s) .windowBy(Time.of(Duration.ofHours(1))) .output(); CountByKey count = (CountByKey) flow.operators().iterator().next(); assertTrue(count.getWindowing() instanceof Time); }
@Test public void testWindow_applyIf() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 3); CountByKey.named("CountByKey1") .of(dataset) .keyBy(s -> s) .applyIf(true, b -> b.windowBy(Time.of(Duration.ofHours(1)))) .output(); CountByKey count = (CountByKey) flow.operators().iterator().next(); assertTrue(count.getWindowing() instanceof Time); }
@Test public void testBuild() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 3); Time<String> windowing = Time.of(Duration.ofHours(1)); Dataset<Pair<String, Long>> counted = CountByKey.named("CountByKey1") .of(dataset) .keyBy(s -> s) .windowBy(windowing) .output(); assertEquals(flow, counted.getFlow()); assertEquals(1, flow.size()); CountByKey count = (CountByKey) flow.operators().iterator().next(); assertEquals(flow, count.getFlow()); assertEquals("CountByKey1", count.getName()); assertNotNull(count.keyExtractor); assertEquals(counted, count.output()); assertSame(windowing, count.getWindowing()); }