### Question:
DerivativeFlux extends AbstractParametrizedFlux { @Nonnull public DerivativeFlux withUnit(@Nonnull final Long duration, @Nonnull final ChronoUnit unit) { Arguments.checkNotNull(duration, "Duration is required"); Arguments.checkNotNull(unit, "ChronoUnit is required"); this.withPropertyValue("unit", duration, unit); return this; } DerivativeFlux(@Nonnull final Flux source); @Nonnull DerivativeFlux withUnit(@Nonnull final Long duration, @Nonnull final ChronoUnit unit); @Nonnull DerivativeFlux withUnit(@Nonnull final String unit); @Nonnull DerivativeFlux withNonNegative(final boolean useStartTime); @Nonnull DerivativeFlux withColumns(@Nonnull final String[] columns); @Nonnull DerivativeFlux withColumns(@Nonnull final Collection<String> columns); @Nonnull DerivativeFlux withTimeColumn(@Nonnull final String timeColumn);  }### Answer:
@Test void derivativeByString() { Flux flux = Flux .from("telegraf") .derivative() .withUnit("15s"); Assertions.assertThat(flux.toString()).isEqualToIgnoringWhitespace("from(bucket:\"telegraf\") |> derivative(unit: 15s)"); }