Windows { public static RecordWindow bitActive(Supplier<Boolean> supplier) { return new LambdaRecordWindow( values -> supplier.extract(values) != null && supplier.extract(values), () -> new ArrayList<>(supplier.getChannelIdentifiers()) ); } private  Windows(); static RecordWindow bitActive(Supplier<Boolean> supplier); static RecordWindow bitNotActive(Supplier<Boolean> supplier); static RecordWindow valueEquals(Supplier<T> supplier, T expected); static RecordWindow valueNotEquals(Supplier<T> supplier, T notExpected);  }
@Test public void testBitActive() { RecordWindow recordWindow = Windows.bitActive( new InnerBooleanSupplier() ); RecordWindow clone = ClonerUtil.clone(recordWindow); innerTestBitActiver(recordWindow); innerTestBitActiver(clone); }