@Test
@InSequence(2)
public void callMetricsMethodOnce() {

    assertThat("Metrics are not registered correctly", registry.getMetricIDs(),
        is(equalTo(MetricsUtil.createMetricIDs(absoluteMetricNames()))));
    // Call the monitored method and assert it's been instrumented
    bean.metricsMethod();
    // Make sure that the metrics have been called
    assertThat("Counter count is incorrect", registry.getCounter(
            new MetricID(absoluteMetricName("counter"))).getCount(), is(equalTo(1L)));
    assertThat("Meter count is incorrect", registry.getMeter(
            new MetricID(absoluteMetricName("meter"))).getCount(), is(equalTo(1L)));
    assertThat("Timer count is incorrect", registry.getTimer(
            new MetricID(absoluteMetricName("timer"))).getCount(), is(equalTo(1L)));
    // Let's call the gauge at the end as Weld is intercepting the gauge
    // invocation while OWB not
    assertThat("Gauge value is incorrect", registry.getGauge(
            new MetricID(absoluteMetricName("gauge"))).getValue(), is(equalTo(1234L)));
}