///*******************************************************************************
// * Copyright (c) 2000, 2006 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.performance;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Random;
//
//import junit.framework.Test;
//import junit.framework.TestSuite;
//
//import org.eclipse.jface.viewers.IStructuredSelection;
//import org.eclipse.jface.viewers.StructuredSelection;
//import org.eclipse.test.performance.Dimension;
//
//public class ObjectContributionsPerformance extends BasicPerformanceTest {
//
// public static final int SEED = 1001001;
// private IStructuredSelection selection;
//
// public static Test suite() {
// TestSuite suite = new TestSuite("Object contribution performance");
// suite.addTest(new ObjectContributionsPerformance(
// "large selection, limited contributors",
// generateAdaptableSelection(SEED, 5000),
// BasicPerformanceTest.NONE));
// suite
// .addTest(new ObjectContributionsPerformance(
// "limited selection, limited contributors",
// generateAdaptableSelection(SEED, 50),
// BasicPerformanceTest.NONE));
// return suite;
// }
//
// public ObjectContributionsPerformance(String label, IStructuredSelection selection, int tagging) {
// super("testObjectContributions:" + label, tagging);
// this.selection = selection;
// }
//
// protected void runTest() {
// ObjectContributionTest tests = new ObjectContributionTest(
// "testObjectContributions");
// tagIfNecessary("UI - " + selection.size() + " contribution(s)",
// Dimension.ELAPSED_PROCESS);
// setDegradationComment("<a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=88274>See Bug 88274</a> ");
// startMeasuring();
// for (int i = 0; i < 5000; i++) {
// tests.assertPopupMenus("1", new String[] { "bogus" }, selection,
// null, false);
// }
// stopMeasuring();
// commitMeasurements();
// assertPerformance();
// }
//
// protected static IStructuredSelection generateAdaptableSelection(int seed, int size) {
// Random rand = new Random(seed);
// List selection = new ArrayList();
// for (int i = 0; i < size; i++) {
// switch ((int) Math.round(rand.nextDouble() * 5)) {
// case 0 :
// selection.add(new ObjectContributionClasses.A());
// break;
// case 1 :
// selection.add(new ObjectContributionClasses.B());
// break;
// case 2 :
// selection.add(new ObjectContributionClasses.C());
// break;
// case 3 :
// selection.add(new ObjectContributionClasses.Common());
// break;
// case 4 :
// selection.add(new ObjectContributionClasses.D());
// break;
// case 5 :
// selection.add(new ObjectContributionClasses.A1());
// break;
// default :
// selection.add(new Object());
// }
// }
// return new StructuredSelection(selection);
// }
//}