@Test public void exactStaleness() { TimestampBound bound = TimestampBound.ofExactStaleness(3140, TimeUnit.MILLISECONDS); assertThat(bound.getMode()).isEqualTo(Mode.EXACT_STALENESS); assertThat(bound.getExactStaleness(TimeUnit.SECONDS)).isEqualTo(3); assertThat(bound.getExactStaleness(TimeUnit.MILLISECONDS)).isEqualTo(3140); assertThat(bound.getExactStaleness(TimeUnit.MICROSECONDS)).isEqualTo(3140000); assertThat(bound.getExactStaleness(TimeUnit.NANOSECONDS)).isEqualTo(3140000000L); assertThat(bound.toString()).isEqualTo("exact_staleness: 3.140s"); assertProto(bound, "exact_staleness { seconds: 3 nanos: 140000000 }"); }
@Test public void stalenessSourceUnits() { long num = 7; for (TimeUnit units : TimeUnit.values()) { TimestampBound bound = TimestampBound.ofExactStaleness(num, units); assertThat(bound.getExactStaleness(TimeUnit.NANOSECONDS)) .named(units.toString()) .isEqualTo(units.toNanos(num)); } }