1   /***
2    * 
3    * Copyright 2004 Protique Ltd
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.codehaus.activemq.management;
19  
20  
21  /***
22   * @version $Revision: 1.1 $
23   */
24  public class RangeStatisticTest extends StatisticTestSupport {
25  
26      public void testStatistic() throws Exception {
27          RangeStatisticImpl stat = new RangeStatisticImpl("myRange", "millis", "myDescription");
28          assertStatistic(stat, "myRange", "millis", "myDescription");
29  
30          assertRangeStatistic(stat);
31      }
32  
33      protected void assertRangeStatistic(RangeStatisticImpl stat) throws InterruptedException {
34          assertEquals(0, stat.getCurrent());
35          assertEquals(0, stat.getLowWaterMark());
36          assertEquals(0, stat.getHighWaterMark());
37  
38          stat.setCurrent(100);
39          assertEquals(100, stat.getCurrent());
40          assertEquals(100, stat.getLowWaterMark());
41          assertEquals(100, stat.getHighWaterMark());
42  
43          stat.setCurrent(50);
44          assertEquals(50, stat.getCurrent());
45          assertEquals(50, stat.getLowWaterMark());
46          assertEquals(100, stat.getHighWaterMark());
47  
48          stat.setCurrent(200);
49          assertEquals(200, stat.getCurrent());
50          assertEquals(50, stat.getLowWaterMark());
51          assertEquals(200, stat.getHighWaterMark());
52  
53          Thread.sleep(500);
54  
55          stat.setCurrent(10);
56          assertEquals(10, stat.getCurrent());
57          assertEquals(10, stat.getLowWaterMark());
58          assertEquals(200, stat.getHighWaterMark());
59  
60          assertLastTimeNotStartTime(stat);
61  
62          System.out.println("Stat is: " + stat);
63  
64          stat.reset();
65  
66          assertEquals(0, stat.getCurrent());
67          assertEquals(0, stat.getLowWaterMark());
68          assertEquals(0, stat.getHighWaterMark());
69  
70          stat.setCurrent(100);
71          assertEquals(100, stat.getCurrent());
72          assertEquals(100, stat.getLowWaterMark());
73          assertEquals(100, stat.getHighWaterMark());
74      }
75  }