@Test public void testElapsed() { int sampleSize = 2; this.delay.configureMetrics(new AggregatingMessageChannelMetrics("foo", sampleSize)); this.delay.setStatsEnabled(true); this.delayer.configureMetrics(new AggregatingMessageHandlerMetrics("bar", sampleSize)); this.delayer.setStatsEnabled(true); GenericMessage<String> message = new GenericMessage<String>("foo"); int count = 4; for (int i = 0; i < count; i++) { this.delay.send(message); } assertEquals(count, this.delay.getSendCount()); assertEquals(count / sampleSize, this.delay.getSendDuration().getCount()); assertThat((int) this.delay.getMeanSendDuration() / sampleSize, greaterThanOrEqualTo(50)); assertEquals(count, this.delayer.getHandleCount()); assertEquals(count / sampleSize, this.delayer.getDuration().getCount()); assertThat((int) this.delayer.getMeanDuration() / sampleSize, greaterThanOrEqualTo(50)); }