/testability-explorer/src/main/java/com/google/test/metric/example/ExpensiveConstructor/StaticWorkInTheConstructor.java

http://testability-explorer.googlecode.com/ · Java · 33 lines · 14 code · 2 blank · 17 comment · 0 complexity · e0c2d8ba51a0086f1897709ace52ecc1 MD5 · raw file

  1. /*
  2. * Copyright 2009 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.example.ExpensiveConstructor;
  17. public class StaticWorkInTheConstructor {
  18. public static class StaticHolder {
  19. static boolean x = false;
  20. // A static method with a cyclomatic complexity of 2.
  21. public static boolean staticCost2() {
  22. boolean a = x ? false : true;
  23. boolean b = a ? false : true;
  24. return b;
  25. }
  26. }
  27. // Should this have a global state cost? It does not now, yet it abuses global state.
  28. public StaticWorkInTheConstructor() {
  29. StaticHolder.staticCost2();
  30. }
  31. }