synchronized JumpData getJumpData(int jumpNumber) { if (jumps == null) { jumps = new ArrayList<JumpData>(); } if (jumps.size() <= jumpNumber) { for (int i = jumps.size(); i <= jumpNumber; jumps.add(new JumpData( i++))); } return jumps.get(jumpNumber); }
public void merge(BranchCoverageData coverageData) { JumpData jumpData = (JumpData) coverageData; getBothLocks(jumpData); try { this.trueHits += jumpData.trueHits; this.falseHits += jumpData.falseHits; } finally { lock.unlock(); jumpData.lock.unlock(); } }
public double getBranchCoverageRate() { lock.lock(); try { return ((double) getNumberOfCoveredBranches()) / getNumberOfValidBranches(); } finally { lock.unlock(); } }
JumpData(int conditionNumber) { super(); this.conditionNumber = conditionNumber; this.trueHits = 0L; this.falseHits = 0L; initLock(); }
public int getNumberOfValidBranches() { int ret = 0; if (jumps != null) for (int i = jumps.size() - 1; i >= 0; i--) ret += ((JumpData) jumps.get(i)).getNumberOfValidBranches(); if (switches != null) for (int i = switches.size() - 1; i >= 0; i--) ret += ((SwitchData) switches.get(i)) .getNumberOfValidBranches(); return ret; }
public int getNumberOfCoveredBranches() { int ret = 0; if (jumps != null) for (int i = jumps.size() - 1; i >= 0; i--) ret += ((JumpData) jumps.get(i)).getNumberOfCoveredBranches(); if (switches != null) for (int i = switches.size() - 1; i >= 0; i--) ret += ((SwitchData) switches.get(i)) .getNumberOfCoveredBranches(); return ret; }
public String getConditionCoverage(int index) { Object branchData = getConditionData(index); if (branchData == null) { return StringUtil.getPercentValue(1.0); } else if (branchData instanceof JumpData) { JumpData jumpData = (JumpData) branchData; return StringUtil.getPercentValue(jumpData.getBranchCoverageRate()); } else { SwitchData switchData = (SwitchData) branchData; return StringUtil.getPercentValue(switchData .getBranchCoverageRate()); } }
void touchJump(int jumpNumber, boolean branch, int hits) { getJumpData(jumpNumber).touchBranch(branch, hits); }
private void dumpCondition(Object conditionData, String coverage) { increaseIndentation(); StringBuffer buffer = new StringBuffer("<condition"); if (conditionData instanceof JumpData) { JumpData jumpData = (JumpData) conditionData; buffer.append(" number=\"").append(jumpData.getConditionNumber()) .append("\""); buffer.append(" type=\"").append("jump").append("\""); buffer.append(" coverage=\"").append(coverage).append("\""); } else { SwitchData switchData = (SwitchData) conditionData; buffer.append(" number=\"").append(switchData.getSwitchNumber()) .append("\""); buffer.append(" type=\"").append("switch").append("\""); buffer.append(" coverage=\"").append(coverage).append("\""); } buffer.append("/>"); println(buffer.toString()); decreaseIndentation(); }
for (int i = Math.min(this.jumps.size(), lineData.jumps.size()) - 1; i >= 0; i--) ((JumpData) this.jumps.get(i)) .merge((JumpData) lineData.jumps.get(i)); for (int i = Math.min(this.jumps.size(), lineData.jumps.size()); i < lineData.jumps .size(); i++)
private Collection<Long> hitArray(LineData ld) { ArrayList<Long> result = new ArrayList<Long>(); if ( ld.hasBranch() ) { for ( int i = 0; i < ld.getConditionSize(); i++ ) { Object xcd = ld.getConditionData( i ); if ( xcd instanceof SwitchData ) { SwitchData sd = (SwitchData) xcd; for( int j = 0; j < sd.getNumberOfValidBranches() - 1; j++ ) { result.add( sd.getHits( j ) ); } result.add( sd.getDefaultHits() ); } else { JumpData jd = (JumpData) xcd; result.add( jd.getTrueHits() ); result.add( jd.getFalseHits() ); } } } return result; }
JumpData(int conditionNumber) { super(); this.conditionNumber = conditionNumber; this.trueHits = 0L; this.falseHits = 0L; initLock(); }
public int getNumberOfValidBranches() { int ret = 0; if (jumps != null) for (int i = jumps.size() - 1; i >= 0; i--) ret += ((JumpData) jumps.get(i)).getNumberOfValidBranches(); if (switches != null) for (int i = switches.size() - 1; i >= 0; i--) ret += ((SwitchData) switches.get(i)) .getNumberOfValidBranches(); return ret; }
public int getNumberOfCoveredBranches() { int ret = 0; if (jumps != null) for (int i = jumps.size() - 1; i >= 0; i--) ret += ((JumpData) jumps.get(i)).getNumberOfCoveredBranches(); if (switches != null) for (int i = switches.size() - 1; i >= 0; i--) ret += ((SwitchData) switches.get(i)) .getNumberOfCoveredBranches(); return ret; }
public String getConditionCoverage(int index) { Object branchData = getConditionData(index); if (branchData == null) { return StringUtil.getPercentValue(1.0); } else if (branchData instanceof JumpData) { JumpData jumpData = (JumpData) branchData; return StringUtil.getPercentValue(jumpData.getBranchCoverageRate()); } else { SwitchData switchData = (SwitchData) branchData; return StringUtil.getPercentValue(switchData .getBranchCoverageRate()); } }
void touchJump(int jumpNumber, boolean branch) { getJumpData(jumpNumber).touchBranch(branch); }
private void dumpCondition(Object conditionData, String coverage) { increaseIndentation(); StringBuffer buffer = new StringBuffer("<condition"); if (conditionData instanceof JumpData) { JumpData jumpData = (JumpData) conditionData; buffer.append(" number=\"").append(jumpData.getConditionNumber()) .append("\""); buffer.append(" type=\"").append("jump").append("\""); buffer.append(" coverage=\"").append(coverage).append("\""); } else { SwitchData switchData = (SwitchData) conditionData; buffer.append(" number=\"").append(switchData.getSwitchNumber()) .append("\""); buffer.append(" type=\"").append("switch").append("\""); buffer.append(" coverage=\"").append(coverage).append("\""); } buffer.append("/>"); println(buffer.toString()); decreaseIndentation(); }
for (int i = Math.min(this.jumps.size(), lineData.jumps.size()) - 1; i >= 0; i--) ((JumpData) this.jumps.get(i)) .merge((JumpData) lineData.jumps.get(i)); for (int i = Math.min(this.jumps.size(), lineData.jumps.size()); i < lineData.jumps .size(); i++)
JumpData sjd = (JumpData) sld.getConditionData( i ); if ( sjd != null ) { prevTrue = sjd.getTrueHits(); prevFalse = sjd.getFalseHits(); long diffTrueHits = ljd.getTrueHits() - prevTrue; long diffFalseHits = ljd.getFalseHits() - prevFalse; if ( diffTrueHits > 0 ) { result.touchJump( lld.getLineNumber(), i, true, (int) diffTrueHits );
public double getBranchCoverageRate() { lock.lock(); try { return ((double) getNumberOfCoveredBranches()) / getNumberOfValidBranches(); } finally { lock.unlock(); } }