Fix eclipse/checkstyle warnings
[yangtools.git] / common / util / src / test / java / org / opendaylight / yangtools / util / DurationStatisticsTrackerTest.java
1 /*
2  * Copyright (c) 2014 Brocade Communications Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.yangtools.util;
10
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertTrue;
13
14 import org.junit.Test;
15
16 /**
17  * Unit tests for DurationStatsTracker.
18  *
19  * @author Thomas Pantelis
20  */
21 public class DurationStatisticsTrackerTest {
22
23     @Test
24     public void test() {
25
26         DurationStatisticsTracker tracker = DurationStatisticsTracker.createConcurrent();
27
28         tracker.addDuration(10000);
29         assertEquals("getTotalDurations", 1, tracker.getTotalDurations());
30         assertEquals("getAverageDuration", 10000.0, tracker.getAverageDuration(), 0.1);
31         assertEquals("getLongestDuration", 10000, tracker.getLongestDuration());
32         assertEquals("getShortestDuration", 10000, tracker.getShortestDuration());
33
34         tracker.addDuration(30000);
35         assertEquals("getTotalDurations", 2, tracker.getTotalDurations());
36         assertEquals("getAverageDuration", 20000.0, tracker.getAverageDuration(), 0.1);
37         assertEquals("getLongestDuration", 30000, tracker.getLongestDuration());
38         assertEquals("getShortestDuration", 10000, tracker.getShortestDuration());
39
40         verifyDisplayableString("getDisplayableAverageDuration",
41                 tracker.getDisplayableAverageDuration(), "20.0");
42         verifyDisplayableString("getDisplayableLongestDuration",
43                 tracker.getDisplayableLongestDuration(), "30.0");
44         verifyDisplayableString("getDisplayableShortestDuration",
45                 tracker.getDisplayableShortestDuration(), "10.0");
46
47         tracker.addDuration(10000);
48         assertEquals("getTotalDurations", 3, tracker.getTotalDurations());
49         assertEquals("getAverageDuration", 16666.0, tracker.getAverageDuration(), 1.0);
50         assertEquals("getLongestDuration", 30000, tracker.getLongestDuration());
51         assertEquals("getShortestDuration", 10000, tracker.getShortestDuration());
52
53         tracker.addDuration(5000);
54         assertEquals("getTotalDurations", 4, tracker.getTotalDurations());
55         assertEquals("getAverageDuration", 13750.0, tracker.getAverageDuration(), 1.0);
56         assertEquals("getLongestDuration", 30000, tracker.getLongestDuration());
57         assertEquals("getShortestDuration", 5000, tracker.getShortestDuration());
58
59         tracker.reset();
60         assertEquals("getTotalDurations", 0, tracker.getTotalDurations());
61         assertEquals("getAverageDuration", 0.0, tracker.getAverageDuration(), 0.1);
62         assertEquals("getLongestDuration", 0, tracker.getLongestDuration());
63         assertEquals("getShortestDuration", 0, tracker.getShortestDuration());
64
65         tracker.addDuration(10000);
66         assertEquals("getTotalDurations", 1, tracker.getTotalDurations());
67         assertEquals("getAverageDuration", 10000.0, tracker.getAverageDuration(), 0.1);
68         assertEquals("getLongestDuration", 10000, tracker.getLongestDuration());
69         assertEquals("getShortestDuration", 10000, tracker.getShortestDuration());
70     }
71
72     private static void verifyDisplayableString(final String name, final String actual, final String expPrefix) {
73         assertTrue(name + " starts with " + expPrefix + ". Actual: " + actual,
74                 actual.startsWith(expPrefix));
75     }
76 }