blob: fd04f4483514e34363456d03a9124ecf521347b8 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2018 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.internal.analysis;
import static org.junit.Assert.assertEquals;
import org.jacoco.core.analysis.ICoverageNode;
import org.junit.Test;
/**
* Unit test for {@link MethodCoverageImpl}.
*/
public class MethodCoverageImplTest {
@Test
public void testProperties() {
// Example: java.util.Collections.emptySet()
MethodCoverageImpl node = new MethodCoverageImpl("emptySet",
"()Ljava/util/Set;",
"<T:Ljava/lang/Object;>()Ljava/util/Set<TT;>;");
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;>;",
node.getSignature());
}
@Test
public void testEmptyMethod() {
ICoverageNode node = new MethodCoverageImpl("sample", "()V", null);
assertEquals(CounterImpl.COUNTER_0_0, node.getInstructionCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getBranchCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getLineCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getComplexityCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getMethodCounter());
assertEquals(CounterImpl.COUNTER_0_0, node.getClassCounter());
}
@Test
public void testIncrementMissedInstructions() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.getInstance(25, 0), CounterImpl.COUNTER_0_0,
3);
node.incrementMethodCounter();
assertEquals(CounterImpl.COUNTER_1_0, node.getMethodCounter());
assertEquals(CounterImpl.COUNTER_1_0, node.getComplexityCounter());
}
@Test
public void testIncrementCoveredInstructions() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.getInstance(12, 13),
CounterImpl.COUNTER_0_0, 3);
node.incrementMethodCounter();
assertEquals(CounterImpl.COUNTER_0_1, node.getMethodCounter());
assertEquals(CounterImpl.COUNTER_0_1, node.getComplexityCounter());
}
@Test
public void testIncrementComplexity1() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.COUNTER_0_0, 3);
assertEquals(CounterImpl.COUNTER_0_0, node.getComplexityCounter());
}
@Test
public void testIncrementComplexity2() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(2, 0),
3);
assertEquals(CounterImpl.getInstance(1, 0), node.getComplexityCounter());
}
@Test
public void testIncrementComplexity3() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(1, 1),
3);
assertEquals(CounterImpl.getInstance(1, 0), node.getComplexityCounter());
}
@Test
public void testIncrementComplexity4() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(0, 2),
3);
assertEquals(CounterImpl.getInstance(0, 1), node.getComplexityCounter());
}
@Test
public void testIncrementComplexity5() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(3, 0),
3);
assertEquals(CounterImpl.getInstance(2, 0), node.getComplexityCounter());
}
@Test
public void testIncrementComplexity6() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(2, 1),
3);
assertEquals(CounterImpl.getInstance(2, 0), node.getComplexityCounter());
}
@Test
public void testIncrementComplexity7() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(1, 2),
3);
assertEquals(CounterImpl.getInstance(1, 1), node.getComplexityCounter());
}
@Test
public void testIncrementComplexity8() {
MethodCoverageImpl node = new MethodCoverageImpl("sample", "()V", null);
node.increment(CounterImpl.COUNTER_0_0, CounterImpl.getInstance(0, 3),
3);
assertEquals(CounterImpl.getInstance(0, 2), node.getComplexityCounter());
}
}