public Output<IN> output() { Dataset<IN> positiveOutput = Filter .named(name + POSITIVE_FILTER_SUFFIX) .of(input) .by(predicate) .output(); Dataset<IN> negativeOutput = Filter .named(name + NEGATIVE_FILTER_SUFFIX) .of(input) .by((UnaryPredicate<IN>) what -> !predicate.apply(what)) .output(); return new Output<>(positiveOutput, negativeOutput); } }
public Output<IN> output() { Dataset<IN> positiveOutput = Filter .named(name + POSITIVE_FILTER_SUFFIX) .of(input) .by(predicate) .output(); Dataset<IN> negativeOutput = Filter .named(name + NEGATIVE_FILTER_SUFFIX) .of(input) .by((UnaryPredicate<IN>) what -> !predicate.apply(what)) .output(); return new Output<>(positiveOutput, negativeOutput); } }
@Test public void testBuild() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 1); Dataset<String> filtered = Filter.named("Filter1") .of(dataset) .by(s -> !s.equals("")) .output(); assertEquals(flow, filtered.getFlow()); assertEquals(1, flow.size()); Filter filter = (Filter) flow.operators().iterator().next(); assertEquals(flow, filter.getFlow()); assertEquals("Filter1", filter.getName()); assertNotNull(filter.predicate); assertEquals(filtered, filter.output()); }