/testability-explorer/src/test/java/com/google/test/metric/WeightedAverageTest.java
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}