package org.projectusus.metrics.test;
import static org.junit.Assert.assertEquals;
import static org.projectusus.metrics.util.Setup.setupCollectorAndMockFor;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
import org.junit.Before;
import org.junit.Test;
import org.projectusus.core.statistics.UsusModelProvider;
import org.projectusus.core.statistics.visitors.ClassCountVisitor;
import org.projectusus.metrics.ClassCollector;
public class ClassCollectorTest extends CollectorTestHelper {
private static final String NAME = "Name";
private ClassCollector collector;
private ClassCountVisitor visitor = new ClassCountVisitor();
@Before
public void setup() throws JavaModelException {
UsusModelProvider.clear( setupNodeHelperForClass() );
collector = new ClassCollector();
}
@Test
public void singleClassYields1() {
collector.init( setupCollectorAndMockFor( collector, AbstractTypeDeclaration.class, NAME ) );
visitor.visit();
assertEquals( 1, visitor.getClassCount() );
}
@Test
public void fourClassesYield4() {
collector.init( setupCollectorAndMockFor( collector, AbstractTypeDeclaration.class, NAME ) );
collector.init( setupCollectorAndMockFor( collector, AbstractTypeDeclaration.class, NAME ) );
collector.init( setupCollectorAndMockFor( collector, AbstractTypeDeclaration.class, NAME ) );
collector.init( setupCollectorAndMockFor( collector, AbstractTypeDeclaration.class, NAME ) );
visitor.visit();
assertEquals( 4, visitor.getClassCount() );
}
}