r = mm.getRate();
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 5L ) ) == 0, ": expected 5 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
MeteringMetric snapshot = (MeteringMetric)mm.getSnapshot();
r = snapshot.getRate();
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 5L ) ) == 0, ": expected 5 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
for ( int i = 0; i < 15; i++ ) {
mm.addEvent( new BasicMetricEvent() );
}
snapshot = (MeteringMetric)mm.getSnapshot();
r = snapshot.getRate();
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 10L ) ) == 0, ": expected 10 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
snapshot = (MeteringMetric)mm.getSnapshot();
r = snapshot.getRate();
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 5L ) ) == 0, ": expected 5 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
snapshot = (MeteringMetric)mm.getSnapshot();
r = snapshot.getRate();
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 4L ) ) == 0, ": expected 4 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
snapshot = (MeteringMetric)mm.getSnapshot();
r = snapshot.getRate();
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 33333333333L, 10 ) ) == 0, ": expected 3.3333333333 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
snapshot = (MeteringMetric)mm.reset();
assertNull( mm.getRate() );
r = snapshot.getRate();
assertNotNull( r );
assertTrue( r.getValue().compareTo( BigDecimal.valueOf( 33333333333L, 10 ) ) == 0, ": expected 3.3333333333 but found " + r.getValue() );
assertEquals( r.getUnit(), TimeUnit.SECONDS );
verify( clock );
}