    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  }