/test/kilim/test/TestBasicBlock.java

http://github.com/kilim/kilim · Java · 72 lines · 51 code · 16 blank · 5 comment · 4 complexity · 785ee15640808c4826029ace0b33c9f0 MD5 · raw file

  1. /* Copyright (c) 2006, Sriram Srinivasan
  2. *
  3. * You may distribute this software under the terms of the license
  4. * specified in the file "License"
  5. */
  6. package kilim.test;
  7. import kilim.analysis.MethodFlow;
  8. public class TestBasicBlock extends Base {
  9. @Override
  10. protected void setUp() throws Exception {
  11. cache("kilim.test.ex.ExBasicBlock");
  12. }
  13. public void testNumFlows() {
  14. assertEquals(getFlows().size(), 8);
  15. }
  16. private void checkSize(String methodName, int expectedSize) {
  17. MethodFlow f = getFlow(methodName);
  18. if (f == null)
  19. return;
  20. if (f.getBasicBlocks().size() != expectedSize) {
  21. fail("Method " + methodName + ": expected flow size = "
  22. + expectedSize + ", instead got "
  23. + f.getBasicBlocks().size());
  24. }
  25. }
  26. public void testNoopSize() {
  27. checkSize("noop", 1);
  28. }
  29. public void testLoopSize() {
  30. checkSize("loop", 4);
  31. }
  32. public void testExceptionSize() {
  33. checkSize("exception", 8);
  34. }
  35. public void testNestedSize() {
  36. checkSize("nestedloop", 6);
  37. }
  38. public void testComplexSize() {
  39. checkSize("complex", 14);
  40. }
  41. public void testNoopCov() {
  42. checkCov("noop");
  43. }
  44. public void testLoopCov() {
  45. checkCov("loop");
  46. }
  47. public void testExceptionCov() {
  48. checkCov("exception");
  49. }
  50. public void testNestedCov() {
  51. checkCov("nestedloop");
  52. }
  53. public void testComplexCov() {
  54. checkCov("complex");
  55. }
  56. }