1 23 package org.hammurapi.inspectors.testcases.fixes; 24 25 30 public class CyclomaticComplexityRuleFixTestCase { 31 32 private static org.apache.log4j.Logger logger = 33 org.apache.log4j.Logger.getRootLogger(); 34 35 private static final int INT_ZERO = 0; 36 private static final int INT_1 = 1; 37 private static final int NEG_INT_1 = -INT_1; 38 private static final int INT_2 = 2; 39 private static final int NEG_INT_2 = -INT_2; 40 private static final int INT_3 = 3; 41 private static final int NEG_INT_3 = -INT_3; 42 43 private static final String CONST_SPACE = " "; 44 private static final char CONST_A = 'A'; 45 private static final char CHAR_B = 'B'; 46 47 49 50 51 public int complexMethod(final String strToProc, final boolean firstType) { 52 if (firstType) { 53 return complexMethodFT(strToProc); 54 } else { 55 return complexMethodNFT(strToProc); 56 } 57 } 58 59 private int complexMethodFT(final String strToProc) { 60 if (strToProc == null) { 61 return INT_1; 62 } else if (strToProc.length() == INT_ZERO) { 63 return INT_2; 64 } else if ( 65 strToProc.length() == INT_1 66 && strToProc.equalsIgnoreCase(CONST_SPACE)) { 67 return INT_3; 68 } else { 69 int retVal = INT_ZERO; 70 for (int i = INT_ZERO; i < strToProc.length(); i++) { 71 if (strToProc.charAt(i) == CONST_A || i % INT_3 == INT_2) { 72 retVal++; 73 } else { 74 retVal += INT_2; 75 } 76 } 77 return retVal; 78 } 79 } 80 81 private int complexMethodNFT(final String strToProc) { 82 if (strToProc == null) { 83 return NEG_INT_1; 84 } else if (strToProc.length() == INT_ZERO) { 85 return NEG_INT_2; 86 } else if ( 87 strToProc.length() == INT_1 88 && strToProc.equalsIgnoreCase(CONST_SPACE)) { 89 return NEG_INT_3; 90 } else { 91 int retVal = INT_ZERO; 92 for (int i = INT_ZERO; i < strToProc.length(); i++) { 93 if (strToProc.charAt(i) == CONST_A || i % INT_3 == INT_2) { 94 retVal--; 95 } else if ( 96 strToProc.charAt(i) == CHAR_B || i % INT_3 == INT_2) { 97 retVal -= INT_2; 98 } else { 99 retVal -= INT_3; 100 } 101 } 102 return retVal; 103 } 104 } 105 106 107 108 public static int tooComplexClassMethod(final int valToProc) { 109 return CyclomaticComplexityRule2FixTestCase. 110 tooComplexClassMethod(valToProc); 111 } 112 } 114 115 | Popular Tags |