| /******************************************************************************* |
| * Copyright (c) 2003, 2004 IBM Corporation and others. |
| * 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: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ui.tests.activities; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| import java.util.Set; |
| |
| import org.eclipse.ui.activities.IActivity; |
| import org.eclipse.ui.activities.IActivityManager; |
| import org.eclipse.ui.activities.IActivityPatternBinding; |
| import org.eclipse.ui.activities.ICategory; |
| import org.eclipse.ui.activities.IIdentifier; |
| import org.eclipse.ui.activities.NotDefinedException; |
| import org.eclipse.ui.internal.Workbench; |
| import org.eclipse.ui.internal.activities.ActivityRequirementBinding; |
| import org.eclipse.ui.internal.activities.CategoryActivityBinding; |
| import org.eclipse.ui.tests.harness.util.UITestCase; |
| |
| /** |
| * |
| * The static test reads activity definitions from the plugin.xml (in |
| * org.eclipse.ui.tests) file and valides its content. |
| */ |
| public class StaticTest extends UITestCase { |
| private IActivityManager activityManager; |
| |
| private List categoryIds; |
| |
| private List activityIds; |
| |
| private List patternActivityIds; |
| |
| /** |
| * Constructor. |
| * |
| * @param testName |
| * Test's name. |
| */ |
| public StaticTest(String testName) { |
| super(testName); |
| activityManager = Workbench.getInstance().getActivitySupport() |
| .getActivityManager(); |
| populateIds(); |
| } |
| |
| /** |
| * Populate the id arrays. |
| * |
| */ |
| private void populateIds() { |
| int index = 0; |
| categoryIds = new ArrayList(); |
| for (index = 1; index <= 6; index++) |
| categoryIds.add("org.eclipse.category" + Integer.toString(index)); //$NON-NLS-1$ |
| activityIds = new ArrayList(); |
| for (index = 1; index <= 18; index++) |
| activityIds.add("org.eclipse.activity" + Integer.toString(index)); //$NON-NLS-1$ |
| patternActivityIds = new ArrayList(); |
| for (index = 0; index < 3; index++) |
| patternActivityIds.add(activityIds.toArray()[index]); |
| } |
| |
| /** |
| * Test the activity manager's content. |
| * |
| */ |
| public void testActivityManager() { |
| // Check the defined category Ids |
| assertTrue(activityManager.getDefinedCategoryIds().containsAll( |
| categoryIds)); |
| // Check the defined activity Ids |
| assertTrue(activityManager.getDefinedActivityIds().containsAll( |
| activityIds)); |
| // Check enabled activity Ids |
| for (int index = 1; index <= 4; index++) |
| assertTrue(activityManager.getEnabledActivityIds().contains( |
| "org.eclipse.activity" + Integer.toString(index))); |
| // Check identifier |
| IIdentifier activityIdentifier = activityManager |
| .getIdentifier("org.eclipse.pattern1"); |
| Set activityIds = activityIdentifier.getActivityIds(); |
| assertTrue(activityIds.containsAll(patternActivityIds)); |
| assertTrue(activityIdentifier.getId().equals("org.eclipse.pattern1")); |
| } |
| |
| /** |
| * Test an activitie's content. |
| * |
| */ |
| public void testActivity() { |
| IActivity first_activity = activityManager |
| .getActivity((String) activityIds.toArray()[0]); |
| // Check activity activity bindings for parent activity |
| Set activityRequirementBindings = first_activity |
| .getActivityRequirementBindings(); |
| for (int index = 2; index <= 7; index++) { |
| assertTrue(activityRequirementBindings |
| .contains(new ActivityRequirementBinding( |
| "org.eclipse.activity" + Integer.toString(index), |
| "org.eclipse.activity1"))); |
| } |
| // Check activity pattern bindings |
| Set activityPatternBindings = first_activity |
| .getActivityPatternBindings(); |
| assertTrue(activityPatternBindings.size() != 0); |
| IActivityPatternBinding activityPatternBinding = (IActivityPatternBinding) activityPatternBindings |
| .toArray()[0]; |
| assertTrue(activityPatternBinding.getActivityId().equals( |
| first_activity.getId())); |
| assertTrue(activityPatternBinding.getPattern().pattern().equals( |
| "org.eclipse.pattern1")); |
| // Check description |
| try { |
| assertTrue(first_activity.getDescription().equals("description")); |
| } catch (NotDefinedException e) { |
| e.printStackTrace(); |
| } |
| // Check activity id |
| assertTrue(first_activity.getId().equals("org.eclipse.activity1")); |
| // Check activity name |
| try { |
| assertTrue(first_activity.getName().equals("Activity 1")); |
| } catch (NotDefinedException e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| /** |
| * Test a category's content. |
| * |
| */ |
| public void testCategory() { |
| ICategory first_category = activityManager |
| .getCategory((String) categoryIds.toArray()[0]); |
| // Check category activity bindings |
| Set categoryActivityBindings = first_category |
| .getCategoryActivityBindings(); |
| for (int index = 1; index <= 4; index++) |
| assertTrue(categoryActivityBindings |
| .contains(new CategoryActivityBinding( |
| "org.eclipse.activity" + Integer.toString(index), |
| first_category.getId()))); |
| try { |
| // Check category description |
| assertTrue(first_category.getDescription().equals("description")); |
| } catch (NotDefinedException e) { |
| e.printStackTrace(); |
| } |
| // Check category id |
| assertTrue(first_category.getId().equals("org.eclipse.category1")); |
| try { |
| // Check category name |
| assertTrue(first_category.getName().equals("Category 1")); |
| } catch (NotDefinedException e) { |
| e.printStackTrace(); |
| } |
| } |
| } |