PageRenderTime 18ms CodeModel.GetById 14ms RepoModel.GetById 0ms 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
Possible License(s): Apache-2.0
  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. */
  16. package com.google.test.metric;
  17. import static java.lang.Math.pow;
  18. import junit.framework.TestCase;
  19. public class WeightedAverageTest extends TestCase {
  20. public void testNormalAverage() throws Exception {
  21. WeightedAverage avg = new WeightedAverage(1);
  22. avg.addValue(1);
  23. avg.addValue(3);
  24. assertEquals((1.0 + 3.0 * 3.0) / 4.0, avg.getAverage());
  25. }
  26. public void testWeightedAverageAsUsedInCostModel() throws Exception {
  27. double weight = CostModel.WEIGHT_TO_EMPHASIZE_EXPENSIVE_METHODS;
  28. WeightedAverage avg = new WeightedAverage(weight);
  29. avg.addValue(1);
  30. avg.addValue(3);
  31. double expected = (pow(1, weight + 1) + pow(3, weight + 1)) / (pow(1, weight) + pow(3, weight));
  32. assertEquals(expected, avg.getAverage());
  33. }
  34. }