aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core.test/src/org/jacoco
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2011-01-08 18:15:30 +0000
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2011-01-08 18:15:30 +0000
commit5f6c308ae550ddfe2c139c47e39c8cbab6e7d535 (patch)
tree0850e8b83ab66f4a2660fc5860ab1099c2155773 /org.jacoco.core.test/src/org/jacoco
parentb075623319d8b01b02b75a530dfa6d3b79392d1e (diff)
downloadjacoco-5f6c308ae550ddfe2c139c47e39c8cbab6e7d535.tar.gz
Trac #130: Count instructions per line.
Diffstat (limited to 'org.jacoco.core.test/src/org/jacoco')
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/ClassCoverageTest.java5
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/CounterComparatorTest.java2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageBuilderTest.java82
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageNodeImplTest.java107
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/LineImplTest.java (renamed from org.jacoco.core.test/src/org/jacoco/core/internal/analysis/LineImplTest.java)3
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/LinesImplTest.java412
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/MethodAnalyzerTest.java22
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/MethodCoverageTest.java95
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/NodeComparatorTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/PackageCoverageTest.java9
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/analysis/SourceNodeImplTest.java (renamed from org.jacoco.core.test/src/org/jacoco/core/internal/analysis/SourceNodeImplTest.java)3
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/BlocksBeforeSuperConstructorTest.java2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java6
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java6
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java6
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java37
22 files changed, 132 insertions, 691 deletions
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/ClassCoverageTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/ClassCoverageTest.java
index 706396d6..4aed503f 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/ClassCoverageTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/ClassCoverageTest.java
@@ -12,7 +12,6 @@
package org.jacoco.core.analysis;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
import org.junit.Test;
@@ -36,7 +35,6 @@ public class ClassCoverageTest {
assertEquals("java/lang/Object", data.getSuperName());
assertEquals(0, data.getInterfaceNames().length);
assertEquals("Sample.java", data.getSourceFileName());
- assertNotNull(data.getLines());
}
@Test
@@ -87,7 +85,8 @@ public class ClassCoverageTest {
private MethodCoverage createMethod(boolean covered) {
final MethodCoverage m = new MethodCoverage("sample", "()V", null);
- m.addInsn(covered, MethodCoverage.UNKNOWN_LINE);
+ m.increment(CounterImpl.getInstance(covered), CounterImpl.COUNTER_0_0,
+ ISourceNode.UNKNOWN_LINE);
return m;
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/CounterComparatorTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/CounterComparatorTest.java
index bf3aa6b4..b7621402 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/CounterComparatorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/CounterComparatorTest.java
@@ -118,7 +118,7 @@ public class CounterComparatorTest {
private static final class MockBlockData extends CoverageNodeImpl {
MockBlockData(int total) {
- super(GROUP, "mock", false);
+ super(GROUP, "mock");
instructionCounter = CounterImpl.getInstance(total, 0);
}
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageBuilderTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageBuilderTest.java
index 9fd658b2..d1104b36 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageBuilderTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageBuilderTest.java
@@ -44,61 +44,61 @@ public class CoverageBuilderTest {
@Test
public void testCreateClassMissed() {
final MethodCoverage method = new MethodCoverage("doit", "()V", null);
- method.addInsn(false, 6);
- method.addInsn(false, 7);
- method.addInsn(false, 8);
+ method.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 6);
+ method.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 7);
+ method.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 8);
addClass(123L, "Sample", null, method);
final Collection<ClassCoverage> classes = coverageBuilder.getClasses();
- assertEquals(1, classes.size(), 1.0);
+ assertEquals(1, classes.size());
ClassCoverage c = classes.iterator().next();
assertEquals("Sample", c.getName());
- assertEquals(1, c.getClassCounter().getTotalCount(), 0.0);
- assertEquals(0, c.getClassCounter().getCoveredCount(), 0.0);
- assertEquals(1, c.getMethodCounter().getTotalCount(), 0.0);
- assertEquals(0, c.getMethodCounter().getCoveredCount(), 0.0);
- assertEquals(3, c.getLineCounter().getTotalCount(), 0.0);
- assertEquals(0, c.getLineCounter().getCoveredCount(), 0.0);
+ assertEquals(1, c.getClassCounter().getTotalCount());
+ assertEquals(0, c.getClassCounter().getCoveredCount());
+ assertEquals(1, c.getMethodCounter().getTotalCount());
+ assertEquals(0, c.getMethodCounter().getCoveredCount());
+ assertEquals(3, c.getLineCounter().getTotalCount());
+ assertEquals(0, c.getLineCounter().getCoveredCount());
final Collection<MethodCoverage> methods = c.getMethods();
- assertEquals(1, methods.size(), 1.0);
+ assertEquals(1, methods.size());
MethodCoverage m = methods.iterator().next();
assertEquals("doit", m.getName());
assertEquals("()V", m.getDesc());
- assertEquals(1, m.getMethodCounter().getTotalCount(), 0.0);
- assertEquals(0, m.getMethodCounter().getCoveredCount(), 0.0);
- assertEquals(3, m.getLineCounter().getTotalCount(), 0.0);
- assertEquals(0, m.getLineCounter().getCoveredCount(), 0.0);
+ assertEquals(1, m.getMethodCounter().getTotalCount());
+ assertEquals(0, m.getMethodCounter().getCoveredCount());
+ assertEquals(3, m.getLineCounter().getTotalCount());
+ assertEquals(0, m.getLineCounter().getCoveredCount());
}
@Test
public void testCreateClassCovered() {
final MethodCoverage method = new MethodCoverage("doit", "()V", null);
- method.addInsn(true, 6);
- method.addInsn(true, 7);
- method.addInsn(true, 8);
+ method.increment(CounterImpl.COUNTER_0_1, CounterImpl.COUNTER_0_0, 6);
+ method.increment(CounterImpl.COUNTER_0_1, CounterImpl.COUNTER_0_0, 7);
+ method.increment(CounterImpl.COUNTER_0_1, CounterImpl.COUNTER_0_0, 8);
addClass(123L, "Sample", null, method);
final Collection<ClassCoverage> classes = coverageBuilder.getClasses();
- assertEquals(1, classes.size(), 1.0);
+ assertEquals(1, classes.size());
ClassCoverage c = classes.iterator().next();
assertEquals("Sample", c.getName());
- assertEquals(1, c.getClassCounter().getTotalCount(), 0.0);
- assertEquals(1, c.getClassCounter().getCoveredCount(), 0.0);
- assertEquals(1, c.getMethodCounter().getTotalCount(), 0.0);
- assertEquals(1, c.getMethodCounter().getCoveredCount(), 0.0);
- assertEquals(3, c.getLineCounter().getTotalCount(), 0.0);
- assertEquals(3, c.getLineCounter().getCoveredCount(), 0.0);
+ assertEquals(1, c.getClassCounter().getTotalCount());
+ assertEquals(1, c.getClassCounter().getCoveredCount());
+ assertEquals(1, c.getMethodCounter().getTotalCount());
+ assertEquals(1, c.getMethodCounter().getCoveredCount());
+ assertEquals(3, c.getLineCounter().getTotalCount());
+ assertEquals(3, c.getLineCounter().getCoveredCount());
final Collection<MethodCoverage> methods = c.getMethods();
- assertEquals(1, methods.size(), 1.0);
+ assertEquals(1, methods.size());
MethodCoverage m = methods.iterator().next();
assertEquals("doit", m.getName());
assertEquals("()V", m.getDesc());
- assertEquals(1, m.getMethodCounter().getTotalCount(), 0.0);
- assertEquals(1, m.getMethodCounter().getCoveredCount(), 0.0);
- assertEquals(3, m.getLineCounter().getTotalCount(), 0.0);
- assertEquals(3, m.getLineCounter().getCoveredCount(), 0.0);
+ assertEquals(1, m.getMethodCounter().getTotalCount());
+ assertEquals(1, m.getMethodCounter().getCoveredCount());
+ assertEquals(3, m.getLineCounter().getTotalCount());
+ assertEquals(3, m.getLineCounter().getCoveredCount());
}
@Test
@@ -113,52 +113,52 @@ public class CoverageBuilderTest {
@Test(expected = IllegalStateException.class)
public void testDuplicateClassName() {
MethodCoverage method = new MethodCoverage("doit", "()V", null);
- method.addInsn(false, 3);
+ method.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 3);
addClass(123L, "Sample", null, method);
method = new MethodCoverage("doit", "()V", null);
- method.addInsn(false, 3);
+ method.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 3);
addClass(345L, "Sample", null, method);
}
@Test
public void testCreateSourceFile() {
final MethodCoverage method1 = new MethodCoverage("doit", "()V", null);
- method1.addInsn(false, 3);
+ method1.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 3);
addClass(123L, "Sample", "Sample.java", method1);
final MethodCoverage method2 = new MethodCoverage("doit", "()V", null);
- method2.addInsn(false, 6);
+ method2.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 6);
addClass(234L, "Second", "Sample.java", method2);
final Collection<SourceFileCoverage> sourcefiles = coverageBuilder
.getSourceFiles();
- assertEquals(1, sourcefiles.size(), 1.0);
+ assertEquals(1, sourcefiles.size());
SourceFileCoverage s = sourcefiles.iterator().next();
- assertEquals(2, s.getClassCounter().getTotalCount(), 0.0);
- assertEquals(0, s.getClassCounter().getCoveredCount(), 0.0);
+ assertEquals(2, s.getClassCounter().getTotalCount());
+ assertEquals(0, s.getClassCounter().getCoveredCount());
}
@Test
public void testGetBundle() {
final MethodCoverage method1 = new MethodCoverage("doit", "()V", null);
- method1.addInsn(false, 3);
+ method1.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 3);
addClass(1, "org/jacoco/examples/Sample1", null, method1);
final MethodCoverage method2 = new MethodCoverage("doit", "()V", null);
- method2.addInsn(false, 6);
+ method2.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 6);
addClass(2, "org/jacoco/examples/Sample2", null, method2);
final MethodCoverage method3 = new MethodCoverage("doit", "()V", null);
- method3.addInsn(false, 1);
+ method3.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 1);
addClass(3, "Sample3", null, method3);
BundleCoverage bundle = coverageBuilder.getBundle("testbundle");
assertEquals("testbundle", bundle.getName());
final Collection<PackageCoverage> packages = bundle.getPackages();
- assertEquals(2, packages.size(), 0.0);
+ assertEquals(2, packages.size());
Map<String, PackageCoverage> packagesByName = new HashMap<String, PackageCoverage>();
for (PackageCoverage p : packages) {
packagesByName.put(p.getName(), p);
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageNodeImplTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageNodeImplTest.java
index 4e507e6e..5ed6fed7 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageNodeImplTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/CoverageNodeImplTest.java
@@ -17,8 +17,6 @@ import static org.jacoco.core.analysis.ICoverageNode.CounterEntity.INSTRUCTION;
import static org.jacoco.core.analysis.ICoverageNode.CounterEntity.LINE;
import static org.jacoco.core.analysis.ICoverageNode.CounterEntity.METHOD;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import java.util.Arrays;
@@ -35,42 +33,26 @@ public class CoverageNodeImplTest {
@Test
public void testProperties() {
- ICoverageNode node = new CoverageNodeImpl(ElementType.GROUP, "sample",
- false);
+ ICoverageNode node = new CoverageNodeImpl(ElementType.GROUP, "sample");
assertEquals(ElementType.GROUP, node.getElementType());
assertEquals("sample", node.getName());
}
@Test
- public void testInitWithoutLines() {
- ICoverageNode node = new CoverageNodeImpl(ElementType.GROUP, "sample",
- false);
+ public void testInit() {
+ ICoverageNode node = new CoverageNodeImpl(ElementType.GROUP, "sample");
assertEquals(CounterImpl.COUNTER_0_0, node.getBranchCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getInstructionCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getLineCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getMethodCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getClassCounter());
- assertNull(node.getLines());
}
@Test
- public void testInitWithLines() {
- ICoverageNode node = new CoverageNodeImpl(ElementType.CLASS, "Sample",
- true);
- assertEquals(CounterImpl.COUNTER_0_0, node.getBranchCounter());
- assertEquals(CounterImpl.COUNTER_0_0, node.getInstructionCounter());
- assertEquals(CounterImpl.COUNTER_0_0, node.getLineCounter());
- assertEquals(CounterImpl.COUNTER_0_0, node.getMethodCounter());
- assertEquals(CounterImpl.COUNTER_0_0, node.getClassCounter());
- assertNotNull(node.getLines());
- }
-
- @Test
- public void testIncrementWithoutLines() {
+ public void testIncrement() {
CoverageNodeImpl parent = new CoverageNodeImpl(ElementType.GROUP,
- "sample", false);
- ICoverageNode child = new CoverageNodeImpl(ElementType.GROUP, "sample",
- false) {
+ "sample");
+ ICoverageNode child = new CoverageNodeImpl(ElementType.GROUP, "sample") {
{
instructionCounter = CounterImpl.getInstance(1, 41);
branchCounter = CounterImpl.getInstance(10, 15);
@@ -95,47 +77,15 @@ public class CoverageNodeImplTest {
}
@Test
- public void testIncrementWithLines() {
- CoverageNodeImpl node = new CoverageNodeImpl(ElementType.CLASS,
- "Sample", true);
- ICoverageNode child = new CoverageNodeImpl(ElementType.CLASS, "Sample",
- true) {
- {
- instructionCounter = CounterImpl.getInstance(1, 41);
- branchCounter = CounterImpl.getInstance(10, 15);
- lines.incrementInsn(1, false);
- lines.incrementInsn(2, false);
- lines.incrementInsn(3, true);
- lines.incrementInsn(4, true);
- methodCounter = CounterImpl.getInstance(1, 21);
- classCounter = CounterImpl.getInstance(1, 11);
- }
- };
- node.increment(child);
- assertEquals(CounterImpl.getInstance(1, 41),
- node.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(10, 15), node.getBranchCounter());
- assertEquals(CounterImpl.getInstance(1, 21), node.getMethodCounter());
- assertEquals(CounterImpl.getInstance(1, 11), node.getClassCounter());
- assertEquals(CounterImpl.getInstance(2, 2), node.getLineCounter());
- assertEquals(ILines.NOT_COVERED, node.getLines().getStatus(1), 0.0);
- assertEquals(ILines.NOT_COVERED, node.getLines().getStatus(2), 0.0);
- assertEquals(ILines.FULLY_COVERED, node.getLines().getStatus(3), 0.0);
- assertEquals(ILines.FULLY_COVERED, node.getLines().getStatus(4), 0.0);
- }
-
- @Test
public void testIncrementCollection() {
CoverageNodeImpl parent = new CoverageNodeImpl(ElementType.GROUP,
- "sample", false);
- ICoverageNode child1 = new CoverageNodeImpl(ElementType.GROUP,
- "sample", false) {
+ "sample");
+ ICoverageNode child1 = new CoverageNodeImpl(ElementType.GROUP, "sample") {
{
branchCounter = CounterImpl.getInstance(5, 2);
}
};
- ICoverageNode child2 = new CoverageNodeImpl(ElementType.GROUP,
- "sample", false) {
+ ICoverageNode child2 = new CoverageNodeImpl(ElementType.GROUP, "sample") {
{
branchCounter = CounterImpl.getInstance(3, 3);
}
@@ -145,39 +95,8 @@ public class CoverageNodeImplTest {
}
@Test
- public void testGetPlainCopyWithLines() {
- ICoverageNode node = new CoverageNodeImpl(ElementType.GROUP, "sample",
- true) {
- {
- classCounter = CounterImpl.getInstance(0, 1);
- methodCounter = CounterImpl.getInstance(0, 2);
- branchCounter = CounterImpl.getInstance(0, 3);
- instructionCounter = CounterImpl.getInstance(0, 4);
- lines.incrementInsn(1, true);
- lines.incrementInsn(2, true);
- lines.incrementInsn(3, true);
- lines.incrementInsn(4, true);
- lines.incrementInsn(5, true);
- }
- };
- ICoverageNode copy = node.getPlainCopy();
- assertEquals(ElementType.GROUP, copy.getElementType());
- assertEquals("sample", copy.getName());
- assertEquals(CounterImpl.getInstance(0, 1), copy.getClassCounter());
- assertEquals(CounterImpl.getInstance(0, 2), copy.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 3), copy.getBranchCounter());
- assertEquals(CounterImpl.getInstance(0, 4),
- copy.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(0, 5), copy.getLineCounter());
- assertEquals(1, copy.getLines().getFirstLine(), 0.0);
- assertEquals(5, copy.getLines().getLastLine(), 0.0);
- assertEquals(ILines.FULLY_COVERED, copy.getLines().getStatus(3), 0.0);
- }
-
- @Test
- public void testGetPlainCopyWithoutLines() {
- ICoverageNode node = new CoverageNodeImpl(ElementType.CLASS, "Sample",
- false) {
+ public void testGetPlainCopy() {
+ ICoverageNode node = new CoverageNodeImpl(ElementType.CLASS, "Sample") {
{
classCounter = CounterImpl.getInstance(1, 1);
methodCounter = CounterImpl.getInstance(2, 2);
@@ -195,13 +114,11 @@ public class CoverageNodeImplTest {
assertEquals(CounterImpl.getInstance(4, 4),
copy.getInstructionCounter());
assertEquals(CounterImpl.getInstance(5, 5), copy.getLineCounter());
- assertNull(copy.getLines());
}
@Test
public void testToString() {
- CoverageNodeImpl node = new CoverageNodeImpl(ElementType.CLASS, "Test",
- false);
+ CoverageNodeImpl node = new CoverageNodeImpl(ElementType.CLASS, "Test");
assertEquals("Test [CLASS]", node.toString());
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/LineImplTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/LineImplTest.java
index 90ae6816..8ee4f8f4 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/LineImplTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/LineImplTest.java
@@ -9,13 +9,14 @@
* Marc R. Hoffmann - initial API and implementation
*
*******************************************************************************/
-package org.jacoco.core.internal.analysis;
+package org.jacoco.core.analysis;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import org.jacoco.core.analysis.CounterImpl;
import org.jacoco.core.analysis.ILine;
+import org.jacoco.core.analysis.LineImpl;
import org.junit.Before;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/LinesImplTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/LinesImplTest.java
deleted file mode 100644
index 10ca93b4..00000000
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/LinesImplTest.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Mountainminds GmbH & Co. KG and Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Marc R. Hoffmann - initial API and implementation
- *
- *******************************************************************************/
-package org.jacoco.core.analysis;
-
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NOT_COVERED;
-import static org.jacoco.core.analysis.ILines.NO_CODE;
-import static org.jacoco.core.analysis.ILines.PARTLY_COVERED;
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-
-/**
- * Unit tests for {@link LinesImpl}.
- *
- * @author Marc R. Hoffmann
- * @version $qualified.bundle.version$
- */
-public class LinesImplTest {
-
- @Test
- public void testEmpty() {
- final ILines c = new LinesImpl();
- assertEquals(0, c.getTotalCount());
- assertEquals(0, c.getCoveredCount());
- assertEquals(-1, c.getFirstLine());
- assertEquals(-1, c.getLastLine());
- assertEquals(NO_CODE, c.getStatus(5));
- assertEquals(0, c.getTotalBranches(5));
- assertEquals(0, c.getMissedBranches(5));
- assertEquals(0, c.getCoveredBranches(5));
- }
-
- @Test
- public void testInitMissed() {
- final LinesImpl c = createNotCovered(5, 7, 10);
- assertEquals(3, c.getTotalCount());
- assertEquals(0, c.getCoveredCount());
- assertEquals(5, c.getFirstLine());
- assertEquals(10, c.getLastLine());
- assertEquals(NO_CODE, c.getStatus(4));
- assertEquals(NOT_COVERED, c.getStatus(5));
- assertEquals(NO_CODE, c.getStatus(6));
- assertEquals(NOT_COVERED, c.getStatus(7));
- assertEquals(NO_CODE, c.getStatus(8));
- assertEquals(NO_CODE, c.getStatus(9));
- assertEquals(NOT_COVERED, c.getStatus(10));
- assertEquals(NO_CODE, c.getStatus(11));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testInitCovered() {
- final LinesImpl c = createFullyCovered(5, 7, 10);
- assertEquals(3, c.getTotalCount());
- assertEquals(3, c.getCoveredCount());
- assertEquals(5, c.getFirstLine());
- assertEquals(10, c.getLastLine());
- assertEquals(NO_CODE, c.getStatus(4));
- assertEquals(FULLY_COVERED, c.getStatus(5));
- assertEquals(NO_CODE, c.getStatus(6));
- assertEquals(FULLY_COVERED, c.getStatus(7));
- assertEquals(NO_CODE, c.getStatus(8));
- assertEquals(NO_CODE, c.getStatus(9));
- assertEquals(FULLY_COVERED, c.getStatus(10));
- assertEquals(NO_CODE, c.getStatus(11));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement1() {
- // 1: N + N = N
- // 2: N + . = N
- // 3: . + . = .
- // 4: . + N = N
- // 5: N + N = N
- // ============
- // 4 total, 0 covered
- final LinesImpl c = createNotCovered(1, 2, 5);
- c.increment(createNotCovered(1, 4, 5));
- assertEquals(4, c.getTotalCount());
- assertEquals(0, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(5, c.getLastLine());
- assertEquals(NOT_COVERED, c.getStatus(1));
- assertEquals(NOT_COVERED, c.getStatus(2));
- assertEquals(NO_CODE, c.getStatus(3));
- assertEquals(NOT_COVERED, c.getStatus(4));
- assertEquals(NOT_COVERED, c.getStatus(5));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement2() {
- // 1: F + F = F
- // 2: F + . = F
- // 3: . + F = F
- // 4: F + F = F
- // ============
- // 4 total, 4 covered
- final LinesImpl c = createFullyCovered(1, 2, 4);
- c.increment(createFullyCovered(1, 3, 4));
- assertEquals(4, c.getTotalCount());
- assertEquals(4, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(4, c.getLastLine());
- assertEquals(FULLY_COVERED, c.getStatus(1));
- assertEquals(FULLY_COVERED, c.getStatus(2));
- assertEquals(FULLY_COVERED, c.getStatus(3));
- assertEquals(FULLY_COVERED, c.getStatus(4));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement3() {
- // 1: F + N = P
- // ============
- // 1 total, 1 covered
- final LinesImpl c = createFullyCovered(1);
- c.increment(createNotCovered(1));
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement4() {
- // 1: N + F = P
- // ============
- // 1 total, 1 covered
- final LinesImpl c = createNotCovered(1);
- c.increment(createFullyCovered(1));
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement5() {
- // 1: P + P = P
- // 2: P + . = P
- // 3: . + . = .
- // 4: . + P = P
- // 5: P + P = P
- // ============
- // 4 total, 4 covered
- final LinesImpl c = createPartlyCovered(1, 2, 5);
- c.increment(createPartlyCovered(1, 4, 5));
- assertEquals(4, c.getTotalCount());
- assertEquals(4, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(5, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(PARTLY_COVERED, c.getStatus(2));
- assertEquals(NO_CODE, c.getStatus(3));
- assertEquals(PARTLY_COVERED, c.getStatus(4));
- assertEquals(PARTLY_COVERED, c.getStatus(5));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement6() {
- // 1: P + N = P
- // ============
- // 1 total, 1 covered
- final LinesImpl c = createPartlyCovered(1);
- c.increment(createNotCovered(1));
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement7() {
- // 1: N + P = P
- // ============
- // 1 total, 1 covered
- final LinesImpl c = createNotCovered(1);
- c.increment(createPartlyCovered(1));
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement8() {
- // 1: P + F = P
- // ============
- // 1 total, 1 covered
- final LinesImpl c = createPartlyCovered(1);
- c.increment(createFullyCovered(1));
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrement9() {
- // 1: F + P = P
- // ============
- // 1 total, 1 covered
- final LinesImpl c = createFullyCovered(1);
- c.increment(createPartlyCovered(1));
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(PARTLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncrementEmpty() {
- final LinesImpl c = createFullyCovered(1);
- c.increment(new LinesImpl());
- assertEquals(1, c.getTotalCount());
- assertEquals(1, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(1, c.getLastLine());
- assertEquals(FULLY_COVERED, c.getStatus(1));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncreaseLeft() {
- // 1: . + F = F
- // 2: F + F = F
- // 3: F + F = F
- // ============
- // 3 total, 3 covered
- final LinesImpl c = createFullyCovered(2, 3);
- c.increment(createFullyCovered(1, 2, 3));
- assertEquals(3, c.getTotalCount());
- assertEquals(3, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(3, c.getLastLine());
- assertEquals(FULLY_COVERED, c.getStatus(1));
- assertEquals(FULLY_COVERED, c.getStatus(2));
- assertEquals(FULLY_COVERED, c.getStatus(3));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncreaseRight() {
- // 1: F + F = F
- // 2: F + F = F
- // 3: . + F = F
- // ============
- // 3 total, 3 covered
- final LinesImpl c = createFullyCovered(1, 2);
- c.increment(createFullyCovered(1, 2, 3));
- assertEquals(3, c.getTotalCount());
- assertEquals(3, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(3, c.getLastLine());
- assertEquals(FULLY_COVERED, c.getStatus(1));
- assertEquals(FULLY_COVERED, c.getStatus(2));
- assertEquals(FULLY_COVERED, c.getStatus(3));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- @Test
- public void testIncreaseBoth() {
- // 1: . + F = F
- // 2: F + F = F
- // 3: . + F = F
- // ============
- // 3 total, 3 covered
- final LinesImpl c = createFullyCovered(2);
- c.increment(createFullyCovered(1, 2, 3));
- assertEquals(3, c.getTotalCount());
- assertEquals(3, c.getCoveredCount());
- assertEquals(1, c.getFirstLine());
- assertEquals(3, c.getLastLine());
- assertEquals(FULLY_COVERED, c.getStatus(1));
- assertEquals(FULLY_COVERED, c.getStatus(2));
- assertEquals(FULLY_COVERED, c.getStatus(3));
- assertEquals(0, c.getTotalBranches(0));
- assertEquals(0, c.getMissedBranches(0));
- assertEquals(0, c.getCoveredBranches(0));
- }
-
- private LinesImpl createNotCovered(final int... lines) {
- final LinesImpl c = new LinesImpl();
- for (int l : lines) {
- c.incrementInsn(l, false);
- }
- return c;
- }
-
- private LinesImpl createFullyCovered(final int... lines) {
- final LinesImpl c = new LinesImpl();
- for (int l : lines) {
- c.incrementInsn(l, true);
- }
- return c;
- }
-
- private LinesImpl createPartlyCovered(final int... lines) {
- final LinesImpl c = new LinesImpl();
- for (int l : lines) {
- c.incrementInsn(l, false);
- c.incrementInsn(l, true);
- }
- return c;
- }
-
- @Test
- public void testIncrementBranches1() {
- final LinesImpl c = new LinesImpl();
- c.incrementBranches(5, 3, 5);
- assertEquals(5, c.getFirstLine());
- assertEquals(5, c.getLastLine());
-
- assertEquals(0, c.getTotalBranches(4));
- assertEquals(0, c.getCoveredBranches(4));
- assertEquals(0, c.getMissedBranches(4));
-
- assertEquals(8, c.getTotalBranches(5));
- assertEquals(3, c.getCoveredBranches(5));
- assertEquals(5, c.getMissedBranches(5));
- assertEquals(NO_CODE, c.getStatus(5));
-
- assertEquals(0, c.getTotalBranches(6));
- assertEquals(0, c.getCoveredBranches(6));
- assertEquals(0, c.getMissedBranches(6));
- }
-
- @Test
- public void testIncrementBranches2() {
- final LinesImpl c = new LinesImpl();
- c.incrementBranches(5, 3, 5);
-
- final LinesImpl c2 = new LinesImpl();
- c2.incrementBranches(50, 30, 5);
-
- c.increment(c2);
-
- assertEquals(5, c.getFirstLine());
- assertEquals(5, c.getLastLine());
- assertEquals(88, c.getTotalBranches(5));
- assertEquals(33, c.getCoveredBranches(5));
- assertEquals(55, c.getMissedBranches(5));
- assertEquals(NO_CODE, c.getStatus(5));
- }
-
- @Test
- public void testIncrementBranchesOverflow() {
- final LinesImpl c = new LinesImpl();
- c.incrementBranches(1000, 0, 5);
-
- assertEquals(5, c.getFirstLine());
- assertEquals(5, c.getLastLine());
- assertEquals(127, c.getTotalBranches(5));
- assertEquals(0, c.getCoveredBranches(5));
- assertEquals(127, c.getMissedBranches(5));
- assertEquals(NO_CODE, c.getStatus(5));
- }
-
-}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodAnalyzerTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodAnalyzerTest.java
index d1f84a9d..e22c1814 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodAnalyzerTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodAnalyzerTest.java
@@ -507,21 +507,13 @@ public class MethodAnalyzerTest implements IProbeIdGenerator {
private void assertLine(int nr, int insnMissed, int insnCovered,
int branchesMissed, int branchesCovered) {
- final ILines lines = result.getLines();
-
- final int status;
- if (insnMissed == 0) {
- status = insnCovered == 0 ? ILines.NO_CODE : ILines.FULLY_COVERED;
- } else {
- status = insnCovered == 0 ? ILines.NOT_COVERED
- : ILines.PARTLY_COVERED;
- }
-
- assertEquals("Status in line " + nr, status, lines.getStatus(nr));
- assertEquals("Missed branches in line " + nr, branchesMissed,
- lines.getMissedBranches(nr));
- assertEquals("Covered branches in line " + nr, branchesCovered,
- lines.getCoveredBranches(nr));
+ final ILine line = result.getLine(nr);
+ assertEquals("Instructions in line " + nr,
+ CounterImpl.getInstance(insnMissed, insnCovered),
+ line.getInstructionCounter());
+ assertEquals("Branches in line " + nr,
+ CounterImpl.getInstance(branchesMissed, branchesCovered),
+ line.getBranchCounter());
}
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodCoverageTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodCoverageTest.java
index 912a3792..bbb40441 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodCoverageTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/MethodCoverageTest.java
@@ -26,97 +26,44 @@ public class MethodCoverageTest {
@Test
public void testProperties() {
// Example: java.util.Collections.emptySet()
- MethodCoverage data = new MethodCoverage("emptySet",
+ MethodCoverage node = new MethodCoverage("emptySet",
"()Ljava/util/Set;",
"<T:Ljava/lang/Object;>()Ljava/util/Set<TT;>;");
- assertEquals(ICoverageNode.ElementType.METHOD, data.getElementType());
- assertEquals("emptySet", data.getName());
- assertEquals("()Ljava/util/Set;", data.getDesc());
+ assertEquals(ICoverageNode.ElementType.METHOD, node.getElementType());
+ assertEquals("emptySet", node.getName());
+ assertEquals("()Ljava/util/Set;", node.getDesc());
assertEquals("<T:Ljava/lang/Object;>()Ljava/util/Set<TT;>;",
- data.getSignature());
+ node.getSignature());
}
@Test
public void testEmptyMethod() {
- ICoverageNode data = new MethodCoverage("sample", "()V", null);
+ ICoverageNode node = new MethodCoverage("sample", "()V", null);
- assertEquals(CounterImpl.getInstance(0, 0), data.getLineCounter());
+ assertEquals(CounterImpl.getInstance(0, 0), node.getLineCounter());
assertEquals(CounterImpl.getInstance(0, 0),
- data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getBranchCounter());
- assertEquals(CounterImpl.getInstance(1, 0), data.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getClassCounter());
+ node.getInstructionCounter());
+ assertEquals(CounterImpl.getInstance(0, 0), node.getBranchCounter());
+ assertEquals(CounterImpl.getInstance(1, 0), node.getMethodCounter());
+ assertEquals(CounterImpl.getInstance(0, 0), node.getClassCounter());
}
@Test
- public void testInstructionMissed() {
- MethodCoverage data = new MethodCoverage("sample", "()V", null);
- data.addInsn(false, 0);
- data.addInsn(false, 0);
+ public void testIncrementMissed() {
+ MethodCoverage node = new MethodCoverage("sample", "()V", null);
+ node.increment(CounterImpl.getInstance(25, 0), CounterImpl.COUNTER_0_0,
+ 3);
- assertEquals(CounterImpl.getInstance(1, 0), data.getLineCounter());
- assertEquals(CounterImpl.getInstance(2, 0),
- data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getBranchCounter());
- assertEquals(CounterImpl.getInstance(1, 0), data.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getClassCounter());
+ assertEquals(CounterImpl.getInstance(1, 0), node.getMethodCounter());
}
@Test
- public void testInstructionCovered() {
- MethodCoverage data = new MethodCoverage("sample", "()V", null);
- data.addInsn(true, 0);
- data.addInsn(false, 0);
+ public void testIncrementCovered() {
+ MethodCoverage node = new MethodCoverage("sample", "()V", null);
+ node.increment(CounterImpl.getInstance(12, 13),
+ CounterImpl.COUNTER_0_0, 3);
- assertEquals(CounterImpl.getInstance(0, 1), data.getLineCounter());
- assertEquals(CounterImpl.getInstance(1, 1),
- data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getBranchCounter());
- assertEquals(CounterImpl.getInstance(0, 1), data.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getClassCounter());
- }
-
- @Test
- public void testInstructionNoLine() {
- MethodCoverage data = new MethodCoverage("sample", "()V", null);
- data.addInsn(false, MethodCoverage.UNKNOWN_LINE);
-
- assertEquals(CounterImpl.getInstance(0, 0), data.getLineCounter());
- assertEquals(CounterImpl.getInstance(1, 0),
- data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getBranchCounter());
- assertEquals(CounterImpl.getInstance(1, 0), data.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getClassCounter());
- }
-
- @Test
- public void testBranches() {
- MethodCoverage data = new MethodCoverage("sample", "()V", null);
- data.addBranches(4, 3, 0);
-
- assertEquals(CounterImpl.getInstance(0, 0), data.getLineCounter());
- assertEquals(CounterImpl.getInstance(0, 0),
- data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(4, 3), data.getBranchCounter());
- assertEquals(CounterImpl.getInstance(1, 0), data.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getClassCounter());
- assertEquals(7, data.getLines().getTotalBranches(0));
- assertEquals(3, data.getLines().getCoveredBranches(0));
- }
-
- @Test
- public void testBranchesNoLine() {
- MethodCoverage data = new MethodCoverage("sample", "()V", null);
- data.addBranches(4, 3, MethodCoverage.UNKNOWN_LINE);
-
- assertEquals(CounterImpl.getInstance(0, 0), data.getLineCounter());
- assertEquals(CounterImpl.getInstance(0, 0),
- data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(4, 3), data.getBranchCounter());
- assertEquals(CounterImpl.getInstance(1, 0), data.getMethodCounter());
- assertEquals(CounterImpl.getInstance(0, 0), data.getClassCounter());
- assertEquals(0, data.getLines().getTotalBranches(0));
- assertEquals(0, data.getLines().getCoveredBranches(0));
+ assertEquals(CounterImpl.getInstance(0, 1), node.getMethodCounter());
}
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/NodeComparatorTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/NodeComparatorTest.java
index da178d94..9a56ab41 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/NodeComparatorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/NodeComparatorTest.java
@@ -66,14 +66,14 @@ public class NodeComparatorTest {
private static final class MockBlockData extends CoverageNodeImpl {
MockBlockData(int total) {
- super(GROUP, "mock", false);
+ super(GROUP, "mock");
instructionCounter = CounterImpl.getInstance(total, 0);
}
}
private static final class MockBlockLineData extends CoverageNodeImpl {
MockBlockLineData(int totalInstruction, int totalLine) {
- super(GROUP, "mock", false);
+ super(GROUP, "mock");
instructionCounter = CounterImpl.getInstance(totalInstruction, 0);
lineCounter = CounterImpl.getInstance(totalLine, 0);
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/analysis/PackageCoverageTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/PackageCoverageTest.java
index 23d165d6..9b0f102a 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/analysis/PackageCoverageTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/PackageCoverageTest.java
@@ -12,7 +12,6 @@
package org.jacoco.core.analysis;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
import java.util.Collection;
import java.util.Collections;
@@ -41,7 +40,6 @@ public class PackageCoverageTest {
assertEquals("org/jacoco/test", data.getName());
assertEquals(classes, data.getClasses());
assertEquals(sourceFiles, data.getSourceFiles());
- assertNull(data.getLines());
}
@Test
@@ -55,7 +53,6 @@ public class PackageCoverageTest {
methodCounter = CounterImpl.getInstance(9, 0);
branchCounter = CounterImpl.getInstance(9, 0);
instructionCounter = CounterImpl.getInstance(9, 0);
- lines.incrementInsn(1, false);
}
};
classnode.setSourceFileName("Sample.java");
@@ -67,11 +64,6 @@ public class PackageCoverageTest {
methodCounter = CounterImpl.getInstance(2, 0);
branchCounter = CounterImpl.getInstance(3, 0);
instructionCounter = CounterImpl.getInstance(4, 0);
- lines.incrementInsn(1, false);
- lines.incrementInsn(2, false);
- lines.incrementInsn(3, false);
- lines.incrementInsn(4, false);
- lines.incrementInsn(5, false);
}
};
PackageCoverage data = new PackageCoverage("org/jacoco/test",
@@ -82,7 +74,6 @@ public class PackageCoverageTest {
assertEquals(CounterImpl.getInstance(3, 0), data.getBranchCounter());
assertEquals(CounterImpl.getInstance(4, 0),
data.getInstructionCounter());
- assertEquals(CounterImpl.getInstance(5, 0), data.getLineCounter());
}
@Test
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/SourceNodeImplTest.java b/org.jacoco.core.test/src/org/jacoco/core/analysis/SourceNodeImplTest.java
index 0f98d994..4e821e9f 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/SourceNodeImplTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/analysis/SourceNodeImplTest.java
@@ -9,11 +9,12 @@
* Marc R. Hoffmann - initial API and implementation
*
*******************************************************************************/
-package org.jacoco.core.internal.analysis;
+package org.jacoco.core.analysis;
import static org.junit.Assert.assertEquals;
import org.jacoco.core.analysis.CounterImpl;
+import org.jacoco.core.analysis.SourceNodeImpl;
import org.jacoco.core.analysis.ICoverageNode.ElementType;
import org.jacoco.core.analysis.ISourceNode;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/BlocksBeforeSuperConstructorTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/BlocksBeforeSuperConstructorTest.java
index e6bf176b..bf12728c 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/BlocksBeforeSuperConstructorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/BlocksBeforeSuperConstructorTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.PARTLY_COVERED;
+import static org.jacoco.core.analysis.ILine.PARTLY_COVERED;
import org.jacoco.core.test.validation.targets.Target10;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java
index f35e27ec..c388468f 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java
@@ -11,8 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.PARTLY_COVERED;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.PARTLY_COVERED;
import org.jacoco.core.test.validation.targets.Target02;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java
index 5a480f51..74e6d7cd 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java
@@ -11,8 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NO_CODE;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.NO_CODE;
import org.jacoco.core.test.validation.targets.Target05;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java
index 027fe7d0..6e0d3bb0 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java
@@ -11,9 +11,9 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NOT_COVERED;
-import static org.jacoco.core.analysis.ILines.PARTLY_COVERED;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.NOT_COVERED;
+import static org.jacoco.core.analysis.ILine.PARTLY_COVERED;
import org.jacoco.core.test.validation.targets.Target01;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java
index 0081ab78..dc0a6c3c 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java
@@ -11,9 +11,9 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NOT_COVERED;
-import static org.jacoco.core.analysis.ILines.PARTLY_COVERED;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.NOT_COVERED;
+import static org.jacoco.core.analysis.ILine.PARTLY_COVERED;
import org.jacoco.core.test.validation.targets.Target03;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java
index 4b49e731..39e14f4c 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java
@@ -11,9 +11,9 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NOT_COVERED;
-import static org.jacoco.core.analysis.ILines.PARTLY_COVERED;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.NOT_COVERED;
+import static org.jacoco.core.analysis.ILine.PARTLY_COVERED;
import org.jacoco.core.test.validation.targets.Target09;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java
index 2422303a..e7c02a53 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
import org.jacoco.core.test.validation.targets.Target06;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java
index bf2a5f07..ac04665f 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java
@@ -11,8 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NO_CODE;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.NO_CODE;
import org.jacoco.core.test.validation.targets.Target08;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java
index 5c2d8eab..cde9b433 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java
@@ -11,8 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.FULLY_COVERED;
-import static org.jacoco.core.analysis.ILines.NO_CODE;
+import static org.jacoco.core.analysis.ILine.FULLY_COVERED;
+import static org.jacoco.core.analysis.ILine.NO_CODE;
import org.jacoco.core.test.validation.targets.Target04;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java
index 94ab1616..2df747bf 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java
@@ -11,8 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation;
-import static org.jacoco.core.analysis.ILines.NOT_COVERED;
-import static org.jacoco.core.analysis.ILines.NO_CODE;
+import static org.jacoco.core.analysis.ILine.NOT_COVERED;
+import static org.jacoco.core.analysis.ILine.NO_CODE;
import org.jacoco.core.test.validation.targets.Target07;
import org.junit.Test;
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java
index 6f4373c9..aa37950f 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java
@@ -17,8 +17,10 @@ import java.util.Collection;
import org.jacoco.core.analysis.Analyzer;
import org.jacoco.core.analysis.ClassCoverage;
+import org.jacoco.core.analysis.CounterImpl;
import org.jacoco.core.analysis.CoverageBuilder;
-import org.jacoco.core.analysis.ILines;
+import org.jacoco.core.analysis.ILine;
+import org.jacoco.core.analysis.LineImpl;
import org.jacoco.core.analysis.SourceFileCoverage;
import org.jacoco.core.data.ExecutionDataStore;
import org.jacoco.core.instr.Instrumenter;
@@ -40,10 +42,10 @@ public abstract class ValidationTestBase {
private static final String[] STATUS_NAME = new String[4];
{
- STATUS_NAME[ILines.NO_CODE] = "NO_CODE";
- STATUS_NAME[ILines.NOT_COVERED] = "NOT_COVERED";
- STATUS_NAME[ILines.FULLY_COVERED] = "FULLY_COVERED";
- STATUS_NAME[ILines.PARTLY_COVERED] = "PARTLY_COVERED";
+ STATUS_NAME[ILine.NO_CODE] = "NO_CODE";
+ STATUS_NAME[ILine.NOT_COVERED] = "NOT_COVERED";
+ STATUS_NAME[ILine.FULLY_COVERED] = "FULLY_COVERED";
+ STATUS_NAME[ILine.PARTLY_COVERED] = "PARTLY_COVERED";
}
protected final Class<?> target;
@@ -52,8 +54,6 @@ public abstract class ValidationTestBase {
protected SourceFileCoverage sourceCoverage;
- protected ILines lineCoverage;
-
protected Source source;
protected ValidationTestBase(final Class<?> target) {
@@ -95,7 +95,6 @@ public abstract class ValidationTestBase {
final Collection<SourceFileCoverage> files = builder.getSourceFiles();
assertEquals(1, files.size(), 0.0);
sourceCoverage = files.iterator().next();
- lineCoverage = sourceCoverage.getLines();
}
protected void assertLine(final String tag, final int status) {
@@ -105,14 +104,20 @@ public abstract class ValidationTestBase {
protected void assertLine(final String tag, final int status,
final int missedBranches, final int coveredBranches) {
final int nr = source.getLineNumber(tag);
- final String line = source.getLine(nr);
- String msg = String.format("L%s: %s", Integer.valueOf(nr), line);
- assertEquals(msg, STATUS_NAME[status],
- STATUS_NAME[lineCoverage.getStatus(nr)]);
- assertEquals(msg + " missed branches", missedBranches,
- lineCoverage.getMissedBranches(nr));
- assertEquals(msg + " covered branches", coveredBranches,
- lineCoverage.getCoveredBranches(nr));
+ final LineImpl line = sourceCoverage.getLine(nr);
+ String msg = String.format("L%s: %s", Integer.valueOf(nr),
+ source.getLine(nr));
+ int insnStatus = ILine.NO_CODE;
+ if (line.getInstructionCounter().getMissedCount() > 0) {
+ insnStatus |= ILine.NOT_COVERED;
+ }
+ if (line.getInstructionCounter().getCoveredCount() > 0) {
+ insnStatus |= ILine.FULLY_COVERED;
+ }
+ assertEquals(msg, STATUS_NAME[status], STATUS_NAME[insnStatus]);
+ assertEquals(msg + " branches",
+ CounterImpl.getInstance(missedBranches, coveredBranches),
+ line.getBranchCounter());
}
}