package org.kantega.revoc.demo; import org.kantega.revoc.registry.CoverageData; import org.kantega.revoc.registry.Registry; import java.util.BitSet; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * */ public class Lines { private final int classId; private BitSet run = new BitSet(); private BitSet notRun = new BitSet(); private final CoverageData data; public Lines(int classId) { this.classId = classId; data = Registry.getCoverageData(); } public void once(int... lineNumbers) { times(1, lineNumbers); } public void twice(int... lineNumbers) { times(2, lineNumbers); } public void times(int times, int... lineNumbers) { for(int lineNumber : lineNumbers) { long timesRun = data.getLinesVisited(classId)[lineNumber - 1]; assertEquals("Expected line " + lineNumber + " to be run " + times + " times instead of " + timesRun, times, timesRun); if (times > 0) { assertTrue("Expected line " + lineNumber + " last run time to be != 0", data.getLinesVisitTimes(classId)[lineNumber - 1] != 0); } else { assertTrue("Expected line " + lineNumber + " last run time to be == 0", data.getLinesVisitTimes(classId)[lineNumber - 1] == 0); } } } public void never(int... lineNumbers) { times(0, lineNumbers); } }