/*******************************************************************************
* Copyright (c) 2006, 2016 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 com.mountainminds.eclemma.internal.core.analysis;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.mountainminds.eclemma.core.JavaProjectKit;
/**
* Tests for {@link SessionAnalyzer}.
*/
public class SessionAnalyzerTest {
private JavaProjectKit javaProject;
private SessionAnalyzer sessionAnalyzer;
@Before
public void setup() throws Exception {
javaProject = new JavaProjectKit();
sessionAnalyzer = new SessionAnalyzer();
}
@After
public void teardown() throws Exception {
javaProject.destroy();
}
@Test
public void testGetNameSourceFolder() throws CoreException {
IPackageFragmentRoot source = javaProject.createSourceFolder("src");
assertEquals("src", sessionAnalyzer.getName(source));
}
@Test
public void testGetNameNestedSourceFolder() throws CoreException {
javaProject.project.getFolder("src").create(false, true, null);
javaProject.project.getFolder("src/main").create(false, true, null);
IPackageFragmentRoot source = javaProject
.createSourceFolder("src/main/java");
assertEquals("src/main/java", sessionAnalyzer.getName(source));
}
@Test
public void testGetNameProjectRootSourceFolder() throws CoreException {
IPackageFragmentRoot source = javaProject.javaProject
.getPackageFragmentRoot(javaProject.project);
javaProject.addClassPathEntry(JavaCore.newSourceEntry(source.getPath()));
assertEquals("UnitTestProject", sessionAnalyzer.getName(source));
}
@Test
public void testGetNameLocalLibrary() throws CoreException, IOException {
IPackageFragmentRoot library = javaProject.createJAR(
"testdata/bin/signatureresolver.jar", "/sample.jar", null, null);
assertEquals("sample.jar", sessionAnalyzer.getName(library));
}
@Test
public void testGetNameLocalLibraryInFolder() throws CoreException,
IOException {
javaProject.project.getFolder("libs").create(false, true, null);
javaProject.project.getFolder("libs/runtime").create(false, true, null);
IPackageFragmentRoot library = javaProject.createJAR(
"testdata/bin/signatureresolver.jar", "/libs/runtime/sample.jar", null,
null);
assertEquals("libs/runtime/sample.jar", sessionAnalyzer.getName(library));
}
@Test
public void testGetNameExternalLibrary() throws CoreException, IOException {
IPackageFragmentRoot library = javaProject.createExternalJAR(
"testdata/bin/signatureresolver.jar", null, null);
assertEquals(library.getElementName(), sessionAnalyzer.getName(library));
}
}