Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java')
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java420
1 files changed, 0 insertions, 420 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java
deleted file mode 100644
index d7e2568df7..0000000000
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 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.swt.tests.junit.performance;
-
-import junit.framework.*;
-import junit.textui.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-/**
- * Automated Performance Test Suite for class org.eclipse.swt.graphics.Color
- *
- * @see org.eclipse.swt.graphics.Color
- */
-public class Test_situational extends SwtPerformanceTestCase {
-
-public Test_situational(String name) {
- super(name);
-}
-
-public static void main(String[] args) {
- TestRunner.run(suite());
-}
-
-protected void setUp() throws Exception {
- super.setUp();
- display = Display.getDefault();
-}
-
-
-/**
- * Situations:
- *
- * - Widget creation
- * - syncExec/asyncExec performance
- * - Image creation
- * - Drawing operations
- * - String measuring
- * - String drawing
- * - Region operations
- * - Fonts
- * - Image loading
- * - Layouts
- */
-public void test_createComposites() {
- PerformanceMeter meter = createMeter("Create composites");
- int samples;
-
- Performance performance = Performance.getDefault();
-
- // Warm up.
- for(samples = 0; samples < 2; samples++) {
- Shell shell = new Shell(display);
- for (int i = 0; i < 100; i++) {
- Composite c = new Composite(shell, SWT.NONE);
- for (int j = 0; j < 10; j++) {
- Composite c2 = new Composite(c, SWT.NONE);
- }
- }
- shell.dispose();
- while(display.readAndDispatch());
- }
-
- for(samples = 0; samples < 100; samples++) {
- Shell shell = new Shell(display);
- meter.start();
- for (int i = 0; i < 100; i++) {
- Composite c = new Composite(shell, SWT.NONE);
- for (int j = 0; j < 50; j++) {
- Composite c2 = new Composite(c, SWT.NONE);
- }
- }
- meter.stop();
- shell.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public void test_createWidgets() {
- PerformanceMeter meter = createMeter("Create composites and widgets");
- int samples;
-
- Performance performance = Performance.getDefault();
- performance.tagAsGlobalSummary(meter, "Create composites and widgets", Dimension.ELAPSED_PROCESS);
-
- for(samples = 0; samples < 10; samples++) {
- Shell shell = new Shell(display);
- shell.setLayout(new FillLayout());
- meter.start();
- for (int i = 0; i < 50; i++) {
- Composite c = new Composite(shell, SWT.NONE);
- for (int j = 0; j < 10; j++) {
- Button b = new Button(c, SWT.PUSH);
- Label label = new Label(c, SWT.NONE);
- Scale scale = new Scale(c, SWT.NONE);
- ProgressBar bar = new ProgressBar(c, SWT.NONE);
- List list = new List(c, SWT.NONE);
- Text text = new Text(c, SWT.SINGLE);
- Text multitext = new Text(c, SWT.MULTI);
- Slider slider = new Slider(c, SWT.NONE);
- Tree tree = new Tree(c, SWT.NONE);
- Table table = new Table(c, SWT.NONE);
- TabFolder tabFolder = new TabFolder(c, SWT.NONE);
- Group g = new Group(c, SWT.BORDER);
- Composite c2 = new Composite(c, SWT.NONE);
- }
- }
- meter.stop();
- shell.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public void test_layout() {
- PerformanceMeter meter = createMeter("Layout Composites");
- int samples;
-
- if (isWindows) {
- Performance performance = Performance.getDefault();
- performance.setComment(
- meter,
- Performance.EXPLAINS_DEGRADATION_COMMENT,
- "Degradation is a result of fixing bug 18607, which enables correct XP-themed border drawing. " +
- "The report for this performance degradation is bug 144314.");
- }
-
- for(samples = 0; samples < 10; samples++) {
- Shell shell = new Shell(display);
- shell.setLayout(new GridLayout());
- String curText = "";
- Label changedLabel;
- Composite parent = shell;
- GridData data;
-
- for(int i = 0; i < 10; i++) {
- Composite c = new Composite(parent, SWT.BORDER);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- c.setLayoutData(data);
- c.setLayout(new GridLayout(2, false));
-
- Composite c1 = new Composite(c, SWT.BORDER);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.widthHint = data.heightHint = 2;
- c1.setLayoutData(data);
-
- Composite c2 = new Composite(c, SWT.BORDER);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.widthHint = data.heightHint = 2;
- c2.setLayoutData(data);
-
- Composite c3 = new Composite(c, SWT.BORDER);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.widthHint = data.heightHint = 2;
- c3.setLayoutData(data);
-
- Composite c4 = new Composite(c, SWT.BORDER);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- c4.setLayoutData(data);
- c4.setLayout(new GridLayout());
- parent = c4;
- }
- changedLabel = new Label(parent, SWT.NONE);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- changedLabel.setLayoutData(data);
-
- shell.open();
- while(display.readAndDispatch());
- try { Thread.sleep(2000); } catch (Exception e) {}
- while(display.readAndDispatch());
- meter.start();
- for(int numlayouts = 0; numlayouts < 20; numlayouts++) {
- shell.layout(true);
- curText = "!!!" + curText + "!!!\n!";
- changedLabel.setText(curText);
- //while(display.readAndDispatch());
- }
- meter.stop();
- shell.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public void test_imageDrawing() {
- PerformanceMeter meter = createMeter("Draw on an image");
- int samples;
-
- for(samples = 0; samples < 10; samples++) {
- int width = 640;
- int height = 480;
- Image image = new Image(display, width, height);
- Color color1 = new Color(display, 0xff, 0, 0xff);
- Color color2 = new Color(display, 0, 0xff, 0xff);
- int x1 = 0, y1 = height/2, x2 = width/2, y2 = 0;
- meter.start();
- GC gc = new GC(image);
- for(int i = 0; i < 10000; i++) {
- x1 = (x1 + 5) % width; y1 = (y1 + 5) % height; x2 = (x2 + 5) % width; y2 = (y2 + 5) % height;
- gc.setLineStyle(SWT.LINE_SOLID);
- gc.drawLine(x1, y1, x2, y2);
- gc.setForeground((i & 1) == 0 ? color1 : color2);
- gc.setBackground((i & 1) == 0 ? color1 : color2);
- gc.fillRectangle(x1, y1, 200, 200);
- gc.drawRoundRectangle(x2, y2, 200, 200, 50, 50);
- gc.setLineStyle(SWT.LINE_DASHDOT);
- gc.drawLine(x2, y1, x1, y2);
- }
- gc.dispose();
- meter.stop();
- image.dispose();
- color1.dispose();
- color2.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public void test_windowDrawing() {
- PerformanceMeter meter = createMeter("Draw on a window");
- int samples;
-
- for(samples = 0; samples < 10; samples++) {
- int width = 640;
- int height = 480;
- Shell shell = new Shell(display);
- shell.setLayout(new GridLayout());
- Canvas c = new Canvas(shell, SWT.NONE);
- GridData data = new GridData();
- data.widthHint = width;
- data.heightHint = height;
- c.setLayoutData(data);
- shell.pack();
- shell.open();
- while(display.readAndDispatch());
- try { Thread.sleep(2000); } catch (Exception e) {}
- while(display.readAndDispatch());
- Color color1 = new Color(display, 0xff, 0, 0xff);
- Color color2 = new Color(display, 0, 0xff, 0xff);
- int x1 = 0, y1 = height/2, x2 = width/2, y2 = 0;
- meter.start();
- GC gc = new GC(c);
- for(int i = 0; i < 6000; i++) {
- x1 = (x1 + 5) % width; y1 = (y1 + 5) % height; x2 = (x2 + 5) % width; y2 = (y2 + 5) % height;
- gc.setLineStyle(SWT.LINE_SOLID);
- gc.drawLine(x1, y1, x2, y2);
- gc.setForeground((i & 1) == 0 ? color1 : color2);
- gc.setBackground((i & 1) == 0 ? color1 : color2);
- gc.fillRectangle(x1, y1, 200, 200);
- gc.drawRoundRectangle(x2, y2, 200, 200, 50, 50);
- gc.setLineStyle(SWT.LINE_DASHDOT);
- gc.drawLine(x2, y1, x1, y2);
- }
- gc.dispose();
- meter.stop();
- shell.dispose();
- color1.dispose();
- color2.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public void test_stringDrawing() {
- PerformanceMeter meter = createMeterWithoutSummary("Draw strings using GC.drawText");
- int samples;
-
- for(samples = 0; samples < 10; samples++) {
- int width = 640;
- int height = 480;
- Shell shell = new Shell(display);
- shell.setLayout(new GridLayout());
- Canvas c = new Canvas(shell, SWT.NONE);
- GridData data = new GridData();
- data.widthHint = width;
- data.heightHint = height;
- c.setLayoutData(data);
- shell.pack();
- shell.open();
- while(display.readAndDispatch());
- try { Thread.sleep(2000); } catch (Exception e) {}
- while(display.readAndDispatch());
- Color color1 = new Color(display, 0xff, 0, 0xff);
- Color color2 = new Color(display, 0, 0xff, 0xff);
- Font font1 = new Font(display, "Helvetica", 20, SWT.NONE);
- Font font2 = new Font(display, "Helvetica", 10, SWT.BOLD);
- String testString = "The quick \tbr&own SWT jum&ped foxily o\nver the lazy dog.";
- int x1 = 0, y1 = height/2, x2 = width/2, y2 = 0;
- meter.start();
- GC gc = new GC(c);
- for(int i = 0; i < 4000; i++) {
- x1 = (x1 + 5) % width; y1 = (y1 + 5) % height; x2 = (x2 + 5) % width; y2 = (y2 + 5) % height;
- gc.setFont((i & 1) == 0 ? font1 : font2);
- gc.setForeground((i & 1) == 0 ? color1 : color2);
- gc.textExtent(testString);
- gc.drawText(testString, x2, y1);
- gc.drawText(testString, x2, y1/2, SWT.DRAW_MNEMONIC | SWT.DRAW_TRANSPARENT);
- gc.drawText(testString, x2, y2, true);
- }
- gc.dispose();
- meter.stop();
- shell.dispose();
- color1.dispose();
- color2.dispose();
- font1.dispose();
- font2.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public void test_fastStringDrawing() {
- PerformanceMeter meter = createMeterWithoutSummary("Draw strings using GC.drawString()");
- int samples;
-
- for(samples = 0; samples < 10; samples++) {
- int width = 640;
- int height = 480;
- Shell shell = new Shell(display);
- shell.setLayout(new GridLayout());
- Canvas c = new Canvas(shell, SWT.NONE);
- GridData data = new GridData();
- data.widthHint = width;
- data.heightHint = height;
- c.setLayoutData(data);
- shell.pack();
- shell.open();
- while(display.readAndDispatch());
- try { Thread.sleep(2000); } catch (Exception e) {}
- while(display.readAndDispatch());
- Color color1 = new Color(display, 0xff, 0, 0xff);
- Color color2 = new Color(display, 0, 0xff, 0xff);
- Font font1 = new Font(display, "Helvetica", 20, SWT.NONE);
- Font font2 = new Font(display, "Helvetica", 10, SWT.BOLD);
- String testString = "The quick brown SWT jumped foxily over the lazy dog.";
- int x1 = 0, y1 = height/2, x2 = width/2, y2 = 0;
- meter.start();
- GC gc = new GC(c);
- for(int i = 0; i < 2000; i++) {
- x1 = (x1 + 5) % width; y1 = (y1 + 5) % height; x2 = (x2 + 5) % width; y2 = (y2 + 5) % height;
- gc.setFont((i & 1) == 0 ? font1 : font2);
- gc.setForeground((i & 1) == 0 ? color1 : color2);
- gc.stringExtent(testString);
- gc.drawString(testString, x1, y2);
- gc.drawString(testString, x1, y1, true);
- }
- gc.dispose();
- meter.stop();
- shell.dispose();
- color1.dispose();
- color2.dispose();
- font1.dispose();
- font2.dispose();
- while(display.readAndDispatch());
- }
- disposeMeter(meter);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- java.util.Vector methodNames = methodNames();
- java.util.Enumeration e = methodNames.elements();
- while (e.hasMoreElements()) {
- suite.addTest(new Test_situational((String)e.nextElement()));
- }
- return suite;
-}
-public static java.util.Vector methodNames() {
- java.util.Vector methodNames = new java.util.Vector();
- methodNames.addElement("test_createComposites");
- methodNames.addElement("test_createWidgets");
- methodNames.addElement("test_imageDrawing");
- methodNames.addElement("test_windowDrawing");
- methodNames.addElement("test_stringDrawing");
- methodNames.addElement("test_fastStringDrawing");
- methodNames.addElement("test_layout");
- return methodNames;
-}
-protected void runTest() throws Throwable {
- if (getName().equals("test_createComposites")) test_createComposites();
- else if (getName().equals("test_createWidgets")) test_createWidgets();
- else if (getName().equals("test_layout")) test_layout();
- else if (getName().equals("test_imageDrawing")) test_imageDrawing();
- else if (getName().equals("test_windowDrawing")) test_windowDrawing();
- else if (getName().equals("test_stringDrawing")) test_stringDrawing();
- else if (getName().equals("test_fastStringDrawing")) test_fastStringDrawing();
-}
-
-/* custom */
-Display display;
-}

Back to the top