Coverage Report - com.jeantessier.metrics.TestStatisticalMeasurementWithMetrics
 
Classes in this File Line Coverage Branch Coverage Complexity
TestStatisticalMeasurementWithMetrics
100%
235/235
N/A
1
 
 1  
 /*
 2  
  *  Copyright (c) 2001-2009, Jean Tessier
 3  
  *  All rights reserved.
 4  
  *  
 5  
  *  Redistribution and use in source and binary forms, with or without
 6  
  *  modification, are permitted provided that the following conditions
 7  
  *  are met:
 8  
  *  
 9  
  *      * Redistributions of source code must retain the above copyright
 10  
  *        notice, this list of conditions and the following disclaimer.
 11  
  *  
 12  
  *      * Redistributions in binary form must reproduce the above copyright
 13  
  *        notice, this list of conditions and the following disclaimer in the
 14  
  *        documentation and/or other materials provided with the distribution.
 15  
  *  
 16  
  *      * Neither the name of Jean Tessier nor the names of his contributors
 17  
  *        may be used to endorse or promote products derived from this software
 18  
  *        without specific prior written permission.
 19  
  *  
 20  
  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 21  
  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 22  
  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 23  
  *  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
 24  
  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 25  
  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 26  
  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 27  
  *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 28  
  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 29  
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 30  
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 31  
  */
 32  
 
 33  
 package com.jeantessier.metrics;
 34  
 
 35  
 import junit.framework.*;
 36  
 
 37  
 import org.apache.log4j.*;
 38  
 
 39  5
 public class TestStatisticalMeasurementWithMetrics extends TestCase {
 40  
     private Metrics m1;
 41  
     private Metrics m2;
 42  
     private Metrics m3;
 43  
     private Metrics m4;
 44  
     private Metrics m5;
 45  
     private Metrics m6;
 46  
     private Metrics m7;
 47  
     private Metrics m8;
 48  
 
 49  
     private Metrics c1;
 50  
     private Metrics c2;
 51  
     private Metrics c3;
 52  
     private Metrics c4;
 53  
 
 54  
     private Metrics g1;
 55  
     private Metrics g2;
 56  
 
 57  
     private Metrics p;
 58  
 
 59  
     protected void setUp() throws Exception {
 60  5
         Logger.getLogger(getClass()).info("Starting test: " + getName());
 61  
 
 62  5
         m1 = new Metrics("a.A.a");
 63  5
         m2 = new Metrics("a.A.b");
 64  5
         m3 = new Metrics("a.B.a");
 65  5
         m4 = new Metrics("a.B.b");
 66  5
         m5 = new Metrics("b.A.a");
 67  5
         m6 = new Metrics("b.A.b");
 68  5
         m7 = new Metrics("b.B.a");
 69  5
         m8 = new Metrics("b.B.b");
 70  
 
 71  5
         m1.track("001", new CounterMeasurement(null, null, null));
 72  5
         m1.track("011", new CounterMeasurement(null, null, null));
 73  5
         m1.track("101", new CounterMeasurement(null, null, null));
 74  5
         m1.track("111", new CounterMeasurement(null, null, null));
 75  5
         m2.track("001", new CounterMeasurement(null, null, null));
 76  5
         m2.track("011", new CounterMeasurement(null, null, null));
 77  5
         m2.track("101", new CounterMeasurement(null, null, null));
 78  5
         m2.track("111", new CounterMeasurement(null, null, null));
 79  5
         m3.track("001", new CounterMeasurement(null, null, null));
 80  5
         m3.track("011", new CounterMeasurement(null, null, null));
 81  5
         m3.track("101", new CounterMeasurement(null, null, null));
 82  5
         m3.track("111", new CounterMeasurement(null, null, null));
 83  5
         m4.track("001", new CounterMeasurement(null, null, null));
 84  5
         m4.track("011", new CounterMeasurement(null, null, null));
 85  5
         m4.track("101", new CounterMeasurement(null, null, null));
 86  5
         m4.track("111", new CounterMeasurement(null, null, null));
 87  5
         m5.track("001", new CounterMeasurement(null, null, null));
 88  5
         m5.track("011", new CounterMeasurement(null, null, null));
 89  5
         m5.track("101", new CounterMeasurement(null, null, null));
 90  5
         m5.track("111", new CounterMeasurement(null, null, null));
 91  5
         m6.track("001", new CounterMeasurement(null, null, null));
 92  5
         m6.track("011", new CounterMeasurement(null, null, null));
 93  5
         m6.track("101", new CounterMeasurement(null, null, null));
 94  5
         m6.track("111", new CounterMeasurement(null, null, null));
 95  5
         m7.track("001", new CounterMeasurement(null, null, null));
 96  5
         m7.track("011", new CounterMeasurement(null, null, null));
 97  5
         m7.track("101", new CounterMeasurement(null, null, null));
 98  5
         m7.track("111", new CounterMeasurement(null, null, null));
 99  5
         m8.track("001", new CounterMeasurement(null, null, null));
 100  5
         m8.track("011", new CounterMeasurement(null, null, null));
 101  5
         m8.track("101", new CounterMeasurement(null, null, null));
 102  5
         m8.track("111", new CounterMeasurement(null, null, null));
 103  
     
 104  5
         m1.addToMeasurement("001", 1);
 105  5
         m1.addToMeasurement("011", 1);
 106  5
         m1.addToMeasurement("101", 1);
 107  5
         m1.addToMeasurement("111", 1);
 108  5
         m2.addToMeasurement("001", 1);
 109  5
         m2.addToMeasurement("011", 1);
 110  5
         m2.addToMeasurement("101", 1);
 111  5
         m2.addToMeasurement("111", 1);
 112  5
         m3.addToMeasurement("001", 1);
 113  5
         m3.addToMeasurement("011", 1);
 114  5
         m3.addToMeasurement("101", 1);
 115  5
         m3.addToMeasurement("111", 1);
 116  5
         m4.addToMeasurement("001", 1);
 117  5
         m4.addToMeasurement("011", 1);
 118  5
         m4.addToMeasurement("101", 1);
 119  5
         m4.addToMeasurement("111", 1);
 120  5
         m5.addToMeasurement("001", 1);
 121  5
         m5.addToMeasurement("011", 1);
 122  5
         m5.addToMeasurement("101", 1);
 123  5
         m5.addToMeasurement("111", 1);
 124  5
         m6.addToMeasurement("001", 1);
 125  5
         m6.addToMeasurement("011", 1);
 126  5
         m6.addToMeasurement("101", 1);
 127  5
         m6.addToMeasurement("111", 1);
 128  5
         m7.addToMeasurement("001", 1);
 129  5
         m7.addToMeasurement("011", 1);
 130  5
         m7.addToMeasurement("101", 1);
 131  5
         m7.addToMeasurement("111", 1);
 132  5
         m8.addToMeasurement("001", 1);
 133  5
         m8.addToMeasurement("011", 1);
 134  5
         m8.addToMeasurement("101", 1);
 135  5
         m8.addToMeasurement("111", 1);
 136  
     
 137  5
         c1 = new Metrics("a.A");
 138  5
         c2 = new Metrics("a.B");
 139  5
         c3 = new Metrics("b.A");
 140  5
         c4 = new Metrics("b.B");
 141  
 
 142  5
         c1.track("010", new CounterMeasurement(null, null, null));
 143  5
         c1.track("011", new CounterMeasurement(null, null, null));
 144  5
         c1.track("110", new CounterMeasurement(null, null, null));
 145  5
         c1.track("111", new CounterMeasurement(null, null, null));
 146  5
         c2.track("010", new CounterMeasurement(null, null, null));
 147  5
         c2.track("011", new CounterMeasurement(null, null, null));
 148  5
         c2.track("110", new CounterMeasurement(null, null, null));
 149  5
         c2.track("111", new CounterMeasurement(null, null, null));
 150  5
         c3.track("010", new CounterMeasurement(null, null, null));
 151  5
         c3.track("011", new CounterMeasurement(null, null, null));
 152  5
         c3.track("110", new CounterMeasurement(null, null, null));
 153  5
         c3.track("111", new CounterMeasurement(null, null, null));
 154  5
         c4.track("010", new CounterMeasurement(null, null, null));
 155  5
         c4.track("011", new CounterMeasurement(null, null, null));
 156  5
         c4.track("110", new CounterMeasurement(null, null, null));
 157  5
         c4.track("111", new CounterMeasurement(null, null, null));
 158  
     
 159  5
         c1.addToMeasurement("010", 10);
 160  5
         c1.addToMeasurement("011", 10);
 161  5
         c1.addToMeasurement("110", 10);
 162  5
         c1.addToMeasurement("111", 10);
 163  5
         c2.addToMeasurement("010", 10);
 164  5
         c2.addToMeasurement("011", 10);
 165  5
         c2.addToMeasurement("110", 10);
 166  5
         c2.addToMeasurement("111", 10);
 167  5
         c3.addToMeasurement("010", 10);
 168  5
         c3.addToMeasurement("011", 10);
 169  5
         c3.addToMeasurement("110", 10);
 170  5
         c3.addToMeasurement("111", 10);
 171  5
         c4.addToMeasurement("010", 10);
 172  5
         c4.addToMeasurement("011", 10);
 173  5
         c4.addToMeasurement("110", 10);
 174  5
         c4.addToMeasurement("111", 10);
 175  
     
 176  5
         c1.addSubMetrics(m1);
 177  5
         c1.addSubMetrics(m2);
 178  5
         c2.addSubMetrics(m3);
 179  5
         c2.addSubMetrics(m4);
 180  5
         c3.addSubMetrics(m5);
 181  5
         c3.addSubMetrics(m6);
 182  5
         c4.addSubMetrics(m7);
 183  5
         c4.addSubMetrics(m8);
 184  
 
 185  5
         g1 = new Metrics("a");
 186  5
         g2 = new Metrics("b");
 187  
 
 188  5
         g1.track("100", new CounterMeasurement(null, null, null));
 189  5
         g1.track("101", new CounterMeasurement(null, null, null));
 190  5
         g1.track("110", new CounterMeasurement(null, null, null));
 191  5
         g1.track("111", new CounterMeasurement(null, null, null));
 192  5
         g2.track("100", new CounterMeasurement(null, null, null));
 193  5
         g2.track("101", new CounterMeasurement(null, null, null));
 194  5
         g2.track("110", new CounterMeasurement(null, null, null));
 195  5
         g2.track("111", new CounterMeasurement(null, null, null));
 196  
         
 197  5
         g1.addToMeasurement("100", 100);
 198  5
         g1.addToMeasurement("101", 100);
 199  5
         g1.addToMeasurement("110", 100);
 200  5
         g1.addToMeasurement("111", 100);
 201  5
         g2.addToMeasurement("100", 100);
 202  5
         g2.addToMeasurement("101", 100);
 203  5
         g2.addToMeasurement("110", 100);
 204  5
         g2.addToMeasurement("111", 100);
 205  
         
 206  5
         g1.addSubMetrics(c1);
 207  5
         g1.addSubMetrics(c2);
 208  5
         g2.addSubMetrics(c3);
 209  5
         g2.addSubMetrics(c4);
 210  
 
 211  5
         p = new Metrics("test");
 212  
         
 213  5
         p.addSubMetrics(g1);
 214  5
         p.addSubMetrics(g2);
 215  5
     }
 216  
 
 217  
     protected void tearDown() throws Exception {
 218  5
         Logger.getLogger(getClass()).info("End of " + getName());
 219  5
     }
 220  
 
 221  
     public void testProject() {
 222  1
         StatisticalMeasurement m000 = new StatisticalMeasurement(null, p, "000");
 223  1
         StatisticalMeasurement m001 = new StatisticalMeasurement(null, p, "001");
 224  1
         StatisticalMeasurement m010 = new StatisticalMeasurement(null, p, "010");
 225  1
         StatisticalMeasurement m011 = new StatisticalMeasurement(null, p, "011");
 226  1
         StatisticalMeasurement m100 = new StatisticalMeasurement(null, p, "100");
 227  1
         StatisticalMeasurement m101 = new StatisticalMeasurement(null, p, "101");
 228  1
         StatisticalMeasurement m110 = new StatisticalMeasurement(null, p, "110");
 229  1
         StatisticalMeasurement m111 = new StatisticalMeasurement(null, p, "111");
 230  
 
 231  1
         assertEquals("000", 0, m000.getNbDataPoints());
 232  1
         assertEquals("001", 8, m001.getNbDataPoints());
 233  1
         assertEquals("010", 4, m010.getNbDataPoints());
 234  1
         assertEquals("011", 4, m011.getNbDataPoints());
 235  1
         assertEquals("100", 2, m100.getNbDataPoints());
 236  1
         assertEquals("101", 2, m101.getNbDataPoints());
 237  1
         assertEquals("110", 2, m110.getNbDataPoints());
 238  1
         assertEquals("111", 2, m111.getNbDataPoints());
 239  1
     }
 240  
 
 241  
     public void testGroup() {
 242  1
         StatisticalMeasurement m000 = new StatisticalMeasurement(null, g1, "000");
 243  1
         StatisticalMeasurement m001 = new StatisticalMeasurement(null, g1, "001");
 244  1
         StatisticalMeasurement m010 = new StatisticalMeasurement(null, g1, "010");
 245  1
         StatisticalMeasurement m011 = new StatisticalMeasurement(null, g1, "011");
 246  1
         StatisticalMeasurement m100 = new StatisticalMeasurement(null, g1, "100");
 247  1
         StatisticalMeasurement m101 = new StatisticalMeasurement(null, g1, "101");
 248  1
         StatisticalMeasurement m110 = new StatisticalMeasurement(null, g1, "110");
 249  1
         StatisticalMeasurement m111 = new StatisticalMeasurement(null, g1, "111");
 250  
 
 251  1
         assertEquals("000", 0, m000.getNbDataPoints());
 252  1
         assertEquals("001", 4, m001.getNbDataPoints());
 253  1
         assertEquals("010", 2, m010.getNbDataPoints());
 254  1
         assertEquals("011", 2, m011.getNbDataPoints());
 255  1
         assertEquals("100", 0, m100.getNbDataPoints());
 256  1
         assertEquals("101", 4, m101.getNbDataPoints());
 257  1
         assertEquals("110", 2, m110.getNbDataPoints());
 258  1
         assertEquals("111", 2, m111.getNbDataPoints());
 259  1
     }
 260  
 
 261  
     public void testClass() {
 262  1
         StatisticalMeasurement m000 = new StatisticalMeasurement(null, c1, "000");
 263  1
         StatisticalMeasurement m001 = new StatisticalMeasurement(null, c1, "001");
 264  1
         StatisticalMeasurement m010 = new StatisticalMeasurement(null, c1, "010");
 265  1
         StatisticalMeasurement m011 = new StatisticalMeasurement(null, c1, "011");
 266  1
         StatisticalMeasurement m100 = new StatisticalMeasurement(null, c1, "100");
 267  1
         StatisticalMeasurement m101 = new StatisticalMeasurement(null, c1, "101");
 268  1
         StatisticalMeasurement m110 = new StatisticalMeasurement(null, c1, "110");
 269  1
         StatisticalMeasurement m111 = new StatisticalMeasurement(null, c1, "111");
 270  
 
 271  1
         assertEquals("000", 0, m000.getNbDataPoints());
 272  1
         assertEquals("001", 2, m001.getNbDataPoints());
 273  1
         assertEquals("010", 0, m010.getNbDataPoints());
 274  1
         assertEquals("011", 2, m011.getNbDataPoints());
 275  1
         assertEquals("100", 0, m100.getNbDataPoints());
 276  1
         assertEquals("101", 2, m101.getNbDataPoints());
 277  1
         assertEquals("110", 0, m110.getNbDataPoints());
 278  1
         assertEquals("111", 2, m111.getNbDataPoints());
 279  1
     }
 280  
 
 281  
     public void testMethod() {
 282  1
         StatisticalMeasurement m000 = new StatisticalMeasurement(null, m1, "000");
 283  1
         StatisticalMeasurement m001 = new StatisticalMeasurement(null, m1, "001");
 284  1
         StatisticalMeasurement m010 = new StatisticalMeasurement(null, m1, "010");
 285  1
         StatisticalMeasurement m011 = new StatisticalMeasurement(null, m1, "011");
 286  1
         StatisticalMeasurement m100 = new StatisticalMeasurement(null, m1, "100");
 287  1
         StatisticalMeasurement m101 = new StatisticalMeasurement(null, m1, "101");
 288  1
         StatisticalMeasurement m110 = new StatisticalMeasurement(null, m1, "110");
 289  1
         StatisticalMeasurement m111 = new StatisticalMeasurement(null, m1, "111");
 290  
 
 291  1
         assertEquals("000", 0, m000.getNbDataPoints());
 292  1
         assertEquals("001", 0, m001.getNbDataPoints());
 293  1
         assertEquals("010", 0, m010.getNbDataPoints());
 294  1
         assertEquals("011", 0, m011.getNbDataPoints());
 295  1
         assertEquals("100", 0, m100.getNbDataPoints());
 296  1
         assertEquals("101", 0, m101.getNbDataPoints());
 297  1
         assertEquals("110", 0, m110.getNbDataPoints());
 298  1
         assertEquals("111", 0, m111.getNbDataPoints());
 299  1
     }
 300  
 
 301  
     public void testIrregular() {
 302  1
         Metrics m11 = new Metrics("m11");
 303  1
         Metrics m12 = new Metrics("m12");
 304  1
         Metrics m21 = new Metrics("m21");
 305  1
         Metrics m22 = new Metrics("m22");
 306  
 
 307  1
         Metrics c1 = new Metrics("c1");
 308  1
         Metrics c2 = new Metrics("c2");
 309  
 
 310  1
         c1.addSubMetrics(m11);
 311  1
         c1.addSubMetrics(m12);
 312  1
         c2.addSubMetrics(m21);
 313  1
         c2.addSubMetrics(m22);
 314  
         
 315  1
         Metrics g = new Metrics("g");
 316  
         
 317  1
         g.addSubMetrics(c1);
 318  1
         g.addSubMetrics(c2);
 319  
 
 320  1
         m11.track("bar", new CounterMeasurement(null, null, null));
 321  1
         m12.track("bar", new CounterMeasurement(null, null, null));
 322  1
         m21.track("bar", new CounterMeasurement(null, null, null));
 323  1
         m22.track("bar", new CounterMeasurement(null, null, null));
 324  
 
 325  1
         c1.track("bar", new CounterMeasurement(null, null, null));
 326  
 
 327  1
         StatisticalMeasurement sm = new StatisticalMeasurement(null, g, "bar");
 328  1
         assertEquals(3, sm.getNbDataPoints());
 329  1
     }
 330  
 }