PageRenderTime 87ms CodeModel.GetById 75ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/testability-explorer/src/test/java/com/google/test/metric/WeightedAverageTest.java

http://testability-explorer.googlecode.com/
Java | 38 lines | 19 code | 4 blank | 15 comment | 0 complexity | b6963475a2eb514a167534b790350e6e MD5 | raw file
 1/*
 2 * Copyright 2007 Google Inc.
 3 *
 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 5 * use this file except in compliance with the License. You may obtain a copy of
 6 * the License at
 7 *
 8 * http://www.apache.org/licenses/LICENSE-2.0
 9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations under
14 * the License.
15 */
16package com.google.test.metric;
17
18import static java.lang.Math.pow;
19import junit.framework.TestCase;
20
21public class WeightedAverageTest extends TestCase {
22
23  public void testNormalAverage() throws Exception {
24    WeightedAverage avg = new WeightedAverage(1);
25    avg.addValue(1);
26    avg.addValue(3);
27    assertEquals((1.0 + 3.0 * 3.0) / 4.0, avg.getAverage());
28  }
29
30  public void testWeightedAverageAsUsedInCostModel() throws Exception {
31    double weight = CostModel.WEIGHT_TO_EMPHASIZE_EXPENSIVE_METHODS;
32    WeightedAverage avg = new WeightedAverage(weight);
33    avg.addValue(1);
34    avg.addValue(3);
35    double expected = (pow(1, weight + 1) + pow(3, weight + 1)) / (pow(1, weight) + pow(3, weight));
36    assertEquals(expected, avg.getAverage());
37  }
38}