@Test
public void reportsMeterValues() throws Exception {
final Meter meter = mock(Meter.class);
when(meter.eventType()).thenReturn("events");
when(meter.rateUnit()).thenReturn(TimeUnit.SECONDS);
when(meter.count()).thenReturn(1L);
when(meter.meanRate()).thenReturn(2.0);
when(meter.oneMinuteRate()).thenReturn(3.0);
when(meter.fiveMinuteRate()).thenReturn(4.0);
when(meter.fifteenMinuteRate()).thenReturn(5.0);
reporter.processMeter(name("meter"), meter, null);
verify(output).send(decode("name = t.test.meter.count, value = 1, group = metered, units = events"));
verify(output).send(decode("name = t.test.meter.meanRate, value = 2.0, group = metered, units = events/second"));
verify(output).send(decode("name = t.test.meter.1MinuteRate, value = 3.0, group = metered, units = events/second"));
verify(output).send(decode("name = t.test.meter.5MinuteRate, value = 4.0, group = metered, units = events/second"));
verify(output).send(decode("name = t.test.meter.15MinuteRate, value = 5.0, group = metered, units = events/second"));
}