@Test
public void reportsHistograms() throws Exception {

    Histogram histogram = mock(Histogram.class);
    Snapshot snapshot = mock(Snapshot.class);
    when(histogram.getCount()).thenReturn(1L);
    when(histogram.getSnapshot()).thenReturn(snapshot);
    when(snapshot.getMax()).thenReturn(2L);
    when(snapshot.getMean()).thenReturn(3.0);
    when(snapshot.getMin()).thenReturn(4L);
    when(snapshot.getStdDev()).thenReturn(5.0);
    when(snapshot.getMedian()).thenReturn(6.0);
    when(snapshot.get75thPercentile()).thenReturn(7.0);
    when(snapshot.get95thPercentile()).thenReturn(8.0);
    when(snapshot.get98thPercentile()).thenReturn(9.0);
    when(snapshot.get99thPercentile()).thenReturn(10.0);
    when(snapshot.get999thPercentile()).thenReturn(11.0);
    reporter.report(
            map(),
            map(),
            map("histogram", histogram),
            map(),
            map());
    for (int i = 1; i <= 11; i++) {
        assertThat(nextValues(receiver)).containsExactly((double) i);
    }
}