| /****************************************************************************** |
| * 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() ); |
| } |
| |
| } |