blob: 59870e2565df806ebd446e9a11ea015368abec2d [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2010 Oracle
* 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:
* Konstantin Komissarchik - initial implementation and ongoing maintenance
******************************************************************************/
package org.eclipse.wst.common.project.facet.core.tests;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.wst.common.project.facet.core.IGroup;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
/**
* @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
*/
@SuppressWarnings( "unused" )
public final class ProjectFacetGroupsTests
extends AbstractTests
{
private static IProjectFacet f1;
private static IProjectFacetVersion f1v10;
private static IProjectFacetVersion f1v12;
private static IProjectFacetVersion f1v20;
private static IProjectFacet f2;
private static IProjectFacetVersion f2v10;
private static IProjectFacetVersion f2v12;
private static IProjectFacetVersion f2v20;
private static IProjectFacet f3;
private static IProjectFacetVersion f3v10;
private static IProjectFacetVersion f3v12;
private static IProjectFacetVersion f3v20;
private static IProjectFacet f4;
private static IProjectFacetVersion f4v10;
private static IProjectFacetVersion f4v12;
private static IProjectFacetVersion f4v20;
private static IProjectFacet f5;
private static IProjectFacetVersion f5v10;
private static IProjectFacetVersion f5v12;
private static IProjectFacetVersion f5v20;
private static IProjectFacet f6;
private static IProjectFacetVersion f6v10;
private static IProjectFacetVersion f6v12;
private static IProjectFacetVersion f6v20;
static
{
f1 = ProjectFacetsManager.getProjectFacet( "grp-f1" );
f1v10 = f1.getVersion( "1.0" );
f1v12 = f1.getVersion( "1.2" );
f1v20 = f1.getVersion( "2.0" );
f2 = ProjectFacetsManager.getProjectFacet( "grp-f2" );
f2v10 = f2.getVersion( "1.0" );
f2v12 = f2.getVersion( "1.2" );
f2v20 = f2.getVersion( "2.0" );
f3 = ProjectFacetsManager.getProjectFacet( "grp-f3" );
f3v10 = f3.getVersion( "1.0" );
f3v12 = f3.getVersion( "1.2" );
f3v20 = f3.getVersion( "2.0" );
f4 = ProjectFacetsManager.getProjectFacet( "grp-f4" );
f4v10 = f4.getVersion( "1.0" );
f4v12 = f4.getVersion( "1.2" );
f4v20 = f4.getVersion( "2.0" );
f5 = ProjectFacetsManager.getProjectFacet( "grp-f5" );
f5v10 = f5.getVersion( "1.0" );
f5v12 = f5.getVersion( "1.2" );
f5v20 = f5.getVersion( "2.0" );
f6 = ProjectFacetsManager.getProjectFacet( "grp-f6" );
f6v10 = f6.getVersion( "1.0" );
f6v12 = f6.getVersion( "1.2" );
f6v20 = f6.getVersion( "2.0" );
}
private ProjectFacetGroupsTests( final String name )
{
super( name );
}
public static Test suite()
{
final TestSuite suite = new TestSuite();
suite.setName( "Project Facet Groups Tests" );
suite.addTest( new ProjectFacetGroupsTests( "testCreationAndEnlistment" ) );
return suite;
}
/**
* Tests creation of groups and enlistment of facets.
*
* @throws CoreException
* @throws IOException
*/
public void testCreationAndEnlistment()
throws CoreException, IOException
{
final Set<IProjectFacetVersion> expected = new HashSet<IProjectFacetVersion>();
expected.add( f1v10 );
expected.add( f1v12 );
expected.add( f1v20 );
expected.add( f2v12 );
expected.add( f3v12 );
expected.add( f3v20 );
expected.add( f4v10 );
expected.add( f4v12 );
expected.add( f4v20 );
expected.add( f5v10 );
expected.add( f5v12 );
expected.add( f6v12 );
expected.add( f6v20 );
assertTrue( ProjectFacetsManager.isGroupDefined( "grp-g1" ) );
final IGroup g1 = ProjectFacetsManager.getGroup( "grp-g1" );
assertEquals( expected, g1.getMembers() );
assertEquals( "Group 1", g1.getLabel() );
assertEquals( "Description for Group 1.", g1.getDescription() );
assertTrue( ProjectFacetsManager.isGroupDefined( "grp-g2" ) );
final IGroup g2 = ProjectFacetsManager.getGroup( "grp-g2" );
assertEquals( expected, g2.getMembers() );
assertEquals( "Group 2", g2.getLabel() );
assertEquals( "Description for Group 2.", g2.getDescription() );
assertTrue( ProjectFacetsManager.isGroupDefined( "grp-g3" ) );
final IGroup g3 = ProjectFacetsManager.getGroup( "grp-g3" );
assertEquals( expected, g3.getMembers() );
assertEquals( "grp-g3", g3.getLabel() );
assertEquals( "", g3.getDescription() );
}
}