diff options
author | Billy Biggs <bbiggs> | 2005-04-04 18:30:43 +0000 |
---|---|---|
committer | Billy Biggs <bbiggs> | 2005-04-04 18:30:43 +0000 |
commit | a282ea0b074723371ffd1eba4ee5372a76398516 (patch) | |
tree | 75a4fb868453f6af863386f690098629c2392723 /tests | |
parent | f3bfb6f52c81ce0789f3b0199a841edd4a641ffb (diff) | |
download | eclipse.platform.swt-a282ea0b074723371ffd1eba4ee5372a76398516.tar.gz eclipse.platform.swt-a282ea0b074723371ffd1eba4ee5372a76398516.tar.xz eclipse.platform.swt-a282ea0b074723371ffd1eba4ee5372a76398516.zip |
Remove per-class tests in favour of situational performance tests.
Diffstat (limited to 'tests')
9 files changed, 0 insertions, 4033 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/PerformanceTests.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/PerformanceTests.java index 157951add8..b3013ae929 100644 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/PerformanceTests.java +++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/PerformanceTests.java @@ -28,20 +28,6 @@ public static Test suite() { public PerformanceTests() { super(); - - /* NOTE: If the Display test suite is run, it must be run - * before any other tests that need a display (i.e. graphics - * or widget tests, etc). Otherwise, an InvalidThreadAccess - * exception will be thrown for each Display test. - */ - addTest(Test_situational.suite()); - addTest(Test_org_eclipse_swt_graphics_Font.suite()); - addTest(Test_org_eclipse_swt_graphics_Region.suite()); - addTest(Test_org_eclipse_swt_graphics_Image.suite()); - addTest(Test_org_eclipse_swt_graphics_GC.suite()); - addTest(Test_org_eclipse_swt_graphics_ImageData.suite()); - addTest(Test_org_eclipse_swt_graphics_ImageLoader.suite()); - addTest(Test_Button.suite()); } } diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/SwtJunit.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/SwtJunit.java deleted file mode 100644 index 9090757a3f..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/SwtJunit.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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.swt.tests.junit.performance; - -import org.eclipse.swt.SWT; - - -/** - * Platform-specific constants used in SWT test cases. - */ -public class SwtJunit { - - public static final String testFontName; - public final static boolean isWindows = SWT.getPlatform().startsWith("win32"); - public final static boolean isCarbon = SWT.getPlatform().startsWith("carbon"); - public final static boolean isMotif = SWT.getPlatform().equals("motif"); - public final static boolean isGTK = SWT.getPlatform().equals("gtk"); - public final static boolean isPhoton = SWT.getPlatform().equals("photon"); - public final static boolean isLinux = System.getProperty("os.name").equals("Linux"); - public final static boolean isAIX = System.getProperty("os.name").equals("AIX"); - public final static boolean isSolaris = System.getProperty("os.name").equals("Solaris") || System.getProperty("os.name").equals("SunOS"); - public final static boolean isHPUX = System.getProperty("os.name").equals("HP-UX"); - - static { - if (isMotif) { - testFontName = "misc-fixed"; - } - else { - testFontName = "Helvetica"; - } - } -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_Button.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_Button.java deleted file mode 100644 index e851d62b0b..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_Button.java +++ /dev/null @@ -1,1120 +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.SWT; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.test.performance.*; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.widgets.Control - * - * @see org.eclipse.swt.widgets.Control - */ -public class Test_Button extends SwtPerformanceTestCase { - -public Test_Button(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -protected void setUp() { - shell = new Shell(); - Button button = new Button(shell, SWT.PUSH); - setWidget(button); -} - -protected void tearDown() { - if (widget != null) { - assertEquals(false, widget.isDisposed()); - } - assertEquals(false, shell.isDisposed()); - shell.dispose(); - if (widget != null) { - assertTrue(widget.isDisposed()); - } - assertTrue(shell.isDisposed()); - -} - -public void test_computeSizeII() { - final int COUNT = 90000; - PerformanceMeter meter = createMeter(getTypeString() + "computeSize(II) - preferred"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.computeSize(SWT.DEFAULT, SWT.DEFAULT); - } - meter.stop(); - disposeMeter(meter); - - Point size = control.getSize(); - size.x *= 2; - size.y *= 2; - - meter = createMeter(getTypeString() + "computeSize(II) - spec. width"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.computeSize(size.x, SWT.DEFAULT); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "computeSize(II) - spec. height"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.computeSize(SWT.DEFAULT, size.y); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_computeSizeIIZ() { - final int COUNT = 90000; - - PerformanceMeter meter = createMeter(getTypeString() + "computeSize(IIZ) - preferred"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.computeSize(SWT.DEFAULT, SWT.DEFAULT, false); - } - meter.stop(); - disposeMeter(meter); - - Point size = control.getSize(); - size.x *= 2; - size.y *= 2; - - meter = createMeter(getTypeString() + "computeSize(IIZ) - spec. width"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.computeSize(size.x, SWT.DEFAULT, false); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "computeSize(IIZ) - spec. height"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.computeSize(SWT.DEFAULT, size.y, false); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_forceFocus() { - final int COUNT = 2000000; - - PerformanceMeter meter = createMeter(getTypeString() + "forceFocus"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.forceFocus(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getBackground() { - final int COUNT = 20000000; - - control.setBackground(control.getDisplay().getSystemColor(SWT.COLOR_RED)); - - PerformanceMeter meter = createMeter(getTypeString() + "getBackground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getBackground(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getBorderWidth() { - final int COUNT = 4500000; - - PerformanceMeter meter = createMeter(getTypeString() + "getBorderWidth"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getBorderWidth(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getBounds() { - final int COUNT = 1500000; - - control.setBounds(10,20,30,40); - - PerformanceMeter meter = createMeter(getTypeString() + "getBounds"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getBounds(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getEnabled() { - final int COUNT = 20000000; - - control.setEnabled(true); - - PerformanceMeter meter = createMeter("getEnabled - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getEnabled(); - } - meter.stop(); - disposeMeter(meter); - - control.setEnabled(false); - - meter = createMeter("getEnabled - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getEnabled(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getFont() { - final int COUNT = 800000; - - PerformanceMeter meter = createMeter(getTypeString() + "getFont"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getFont(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getForeground() { - final int COUNT = 20000000; - - control.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_RED)); - - PerformanceMeter meter = createMeter(getTypeString() + "getForeground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getForeground(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getLocation() { - final int COUNT = 1500000; - - control.setBounds(10,20,30,40); - - PerformanceMeter meter = createMeter(getTypeString() + "getLocation"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getLocation(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getMenu() { - final int COUNT = 50000000; - - PerformanceMeter meter = createMeter(getTypeString() + "getMenu - none"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getMenu(); - } - meter.stop(); - disposeMeter(meter); - - Menu menu = new Menu(control.getShell()); - control.setMenu(menu); - - meter = createMeter(getTypeString() + "getMenu - typical"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getMenu(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getMonitor() { - final int COUNT = 1200000; - - PerformanceMeter meter = createMeter(getTypeString() + "getMonitor"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getMonitor(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getParent() { - final int COUNT = 50000000; - - PerformanceMeter meter = createMeter(getTypeString() + "getParent"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getParent(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getShell() { - final int COUNT = 30000000; - - PerformanceMeter meter = createMeter(getTypeString() + "getShell"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getShell(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getSize() { - final int COUNT = 2500000; - - control.setBounds(10,20,30,40); - - PerformanceMeter meter = createMeter(getTypeString() + "getSize"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getSize(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getToolTipText() { - final int COUNT = 50000000; - - control.setToolTipText("Tool tip text"); - - PerformanceMeter meter = createMeter(getTypeString() + "getToolTipText"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getToolTipText(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_getVisible() { - final int COUNT = 9000000; - - PerformanceMeter meter = createMeter(getTypeString() + "getVisible"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.getVisible(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_isEnabled() { - final int COUNT = 8000000; - - control.setEnabled(true); - - PerformanceMeter meter = createMeter(getTypeString() + "isEnabled - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.isEnabled(); - } - meter.stop(); - disposeMeter(meter); - - control.setEnabled(false); - - meter = createMeter(getTypeString() + "isEnabled - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.isEnabled(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_isFocusControl() { - final int COUNT = 2000000; - - control.getParent().setFocus(); - - PerformanceMeter meter = createMeter(getTypeString() + "isFocusControl - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.isFocusControl(); - } - meter.stop(); - disposeMeter(meter); - - control.setFocus(); - - meter = createMeter(getTypeString() + "isFocusControl - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.isFocusControl(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_isVisible() { - final int COUNT = 9000000; - - control.getShell().setVisible(false); - - PerformanceMeter meter = createMeter(getTypeString() + "isVisible - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.isVisible(); - } - meter.stop(); - disposeMeter(meter); - - control.getShell().setVisible(true); - control.setVisible(true); - - meter = createMeter(getTypeString() + "isVisible - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.isVisible(); - } - meter.stop(); - disposeMeter(meter); - - control.getShell().setVisible(false); -} - -public void test_moveAboveLorg_eclipse_swt_widgets_Control() { - final int COUNT = 600000; - - Button button = new Button(shell, SWT.PUSH); - - Control[] controls = new Control[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - controls[i] = button; - controls[i+1] = null; - controls[i+2] = button; - controls[i+3] = control; - } - PerformanceMeter meter = createMeter(getTypeString() + "moveAbove"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.moveAbove(controls[i]); - } - meter.stop(); - disposeMeter(meter); - - button.dispose(); -} - -public void test_moveBelowLorg_eclipse_swt_widgets_Control() { - final int COUNT = 250000; - - Button button = new Button(shell, SWT.PUSH); - - Control[] controls = new Control[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - controls[i] = button; - controls[i+1] = null; - controls[i+2] = button; - controls[i+3] = control; - } - PerformanceMeter meter = createMeter(getTypeString() + "moveBelow"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.moveBelow(controls[i]); - } - meter.stop(); - disposeMeter(meter); - - button.dispose(); -} - -public void test_pack() { - final int COUNT = 12000; - - PerformanceMeter meter = createMeter(getTypeString() + "pack()"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.pack(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_packZ() { - final int COUNT = 12000; - - PerformanceMeter meter = createMeter(getTypeString() + "pack(Z)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.pack(false); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_redraw() { - final int COUNT = 10000000; - - PerformanceMeter meter = createMeter(getTypeString() + "redraw()"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.redraw(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_redrawIIIIZ() { - final int COUNT = 40000000; - - Rectangle bounds = control.getBounds(); - - PerformanceMeter meter = createMeter(getTypeString() + "redraw(IIIIZ)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.redraw(bounds.x, bounds.y, bounds.width, bounds.height, true); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setBackgroundLorg_eclipse_swt_graphics_Color() { - final int COUNT = isGTK ? 20000 : 2000000; - - Color red = control.getDisplay().getSystemColor(SWT.COLOR_RED); - Color blue = control.getDisplay().getSystemColor(SWT.COLOR_BLUE); - Color[] colors = new Color[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - colors[i] = red; - colors[i+1] = blue; - colors[i+2] = null; - colors[i+3] = blue; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setBackground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setBackground(colors[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setBoundsIIII() { - final int COUNT = 25000; - - int[] xs = new int[COUNT]; - int[] ys = new int[COUNT]; - int[] widths = new int[COUNT]; - int[] heights = new int[COUNT]; - for (int i = 0; i < COUNT; i += 2) { - xs[i] = 10; xs[i+1] = 40; - ys[i] = 20; ys[i+1] = 30; - widths[i] = 30; widths[i+1] = 20; - heights[i] = 40; heights[i+1] = 10; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setBounds(IIII)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setBounds(xs[i], ys[i], widths[i], heights[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setBoundsLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 25000; - - Rectangle[] rectangles = new Rectangle[COUNT]; - Rectangle rectangle1 = new Rectangle(0,5,10,15); - Rectangle rectangle2 = new Rectangle(10,15,110,115); - for (int i = 0; i < COUNT; i += 2) { - rectangles[i] = rectangle1; - rectangles[i+1] = rectangle2; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setBounds(Rectangle)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setBounds(rectangles[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setCaptureZ() { - final int COUNT = 100000; - - boolean[] capture = new boolean [COUNT]; - for (int i = 0; i < COUNT; i += 2) { - capture[i] = true; - capture[i+1] = false; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setCapture"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setCapture(capture[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setCursorLorg_eclipse_swt_graphics_Cursor() { - final int COUNT = 250000; - - Cursor hand = control.getDisplay().getSystemCursor(SWT.CURSOR_HAND); - Cursor size = control.getDisplay().getSystemCursor(SWT.CURSOR_SIZEALL); - Cursor[] cursors = new Cursor[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - cursors[i] = hand; - cursors[i+1] = size; - cursors[i+2] = null; - cursors[i+3] = size; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setCursor"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setCursor(cursors[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setEnabledZ() { - final int COUNT = 200000; - - boolean[] enabled = new boolean [COUNT]; - for (int i = 0; i < COUNT; i += 2) { - enabled[i] = true; - enabled[i+1] = false; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setEnabled"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setEnabled(enabled[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setFocus() { - final int COUNT = 2000000; - PerformanceMeter meter = createMeter(getTypeString() + "setFocus"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setFocus(); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setFontLorg_eclipse_swt_graphics_Font() { - final int COUNT = isGTK ? 200000 : 800000; - - Font font1 = control.getFont(); - FontData[] data = font1.getFontData(); - data[0].setHeight(data[0].getHeight() + 2); - Font font2 = new Font(control.getDisplay(), data); - Font[] fonts = new Font[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - fonts[i] = font1; - fonts[i+1] = null; - fonts[i+2] = font1; - fonts[i+3] = font2; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setFont"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setFont(fonts[i]); - } - meter.stop(); - disposeMeter(meter); - - font2.dispose(); -} - -public void test_setForegroundLorg_eclipse_swt_graphics_Color() { - final int COUNT = isGTK ? 20000 : 2000000; - - Color red = control.getDisplay().getSystemColor(SWT.COLOR_RED); - Color blue = control.getDisplay().getSystemColor(SWT.COLOR_BLUE); - Color[] colors = new Color[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - colors[i] = red; - colors[i+1] = blue; - colors[i+2] = null; - colors[i+3] = blue; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setForeground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setForeground(colors[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setLocationII() { - final int COUNT = 25000; - - int[] xs = new int[COUNT]; - int[] ys = new int[COUNT]; - for (int i = 0; i < COUNT; i += 2) { - xs[i] = 10; xs[i+1] = 40; - ys[i] = 20; ys[i+1] = 30; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setLocation(II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setLocation(xs[i], ys[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setLocationLorg_eclipse_swt_graphics_Point() { - final int COUNT = 25000; - - Point[] points = new Point[COUNT]; - Point point1 = new Point(0,5); - Point point2 = new Point(10,15); - for (int i = 0; i < COUNT; i += 2) { - points[i] = point1; - points[i + 1] = point2; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setLocation(Point)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setLocation(points[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setMenuLorg_eclipse_swt_widgets_Menu () { - final int COUNT = 15000000; - - Menu menu1 = new Menu(control); - new MenuItem(menu1, SWT.NONE).setText("item1"); - Menu menu2 = new Menu(control); - new MenuItem(menu2, SWT.NONE).setText("item2"); - Menu[] menus = new Menu[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - menus[i] = menu1; - menus[i+1] = null; - menus[i+2] = menu1; - menus[i+3] = menu2; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setMenu"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setMenu(menus[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setRedrawZ() { - final int COUNT = 12000000; - - boolean[] capture = new boolean [COUNT]; - for (int i = 0; i < COUNT; i += 2) { - capture[i] = true; - capture[i+1] = false; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setRedraw"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setRedraw(capture[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setSizeII() { - final int COUNT = 25000; - - int[] widths = new int[COUNT]; - int[] heights = new int[COUNT]; - for (int i = 0; i < COUNT; i += 2) { - widths[i] = 30; widths[i+1] = 20; - heights[i] = 40; heights[i+1] = 10; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setSize(II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setSize(widths[i], heights[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setSizeLorg_eclipse_swt_graphics_Point() { - final int COUNT = 25000; - - Point[] points = new Point[COUNT]; - Point point1 = new Point(20,15); - Point point2 = new Point(10,35); - for (int i = 0; i < COUNT; i += 2) { - points[i] = point1; - points[i + 1] = point2; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setSize(Point)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setSize(points[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setToolTipTextLjava_lang_String() { - final int COUNT = 1000000; - - String[] strings = new String[COUNT]; - for (int i = 0; i < COUNT; i += 4) { - strings[0] = "tool tip 1"; - strings[1] = null; - strings[2] = ""; - strings[3] = "the second tool tip"; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setToolTipText"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setToolTipText(strings[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_setVisibleZ() { - final int COUNT = 200000; - - boolean[] capture = new boolean [COUNT]; - for (int i = 0; i < COUNT; i += 2) { - capture[i] = true; - capture[i+1] = false; - } - - PerformanceMeter meter = createMeter(getTypeString() + "setVisible"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.setVisible(capture[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_toControlII() { - final int COUNT = 4000000; - - PerformanceMeter meter = createMeter(getTypeString() + "toControl(II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.toControl(20, 30); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_toControlLorg_eclipse_swt_graphics_Point() { - final int COUNT = 2500000; - - Point point = new Point(10,20); - Point[] points = new Point[COUNT]; - for (int i = 0; i < COUNT; i++) { - points[i] = point; - } - - PerformanceMeter meter = createMeter(getTypeString() + "toControl(Point)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.toControl(points[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_toDisplayII() { - final int COUNT = 4000000; - - PerformanceMeter meter = createMeter(getTypeString() + "toDisplay(II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.toDisplay(20, 30); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_toDisplayLorg_eclipse_swt_graphics_Point() { - final int COUNT = 4000000; - - Point point = new Point(10,20); - Point[] points = new Point[COUNT]; - for (int i = 0; i < COUNT; i++) { - points[i] = point; - } - - PerformanceMeter meter = createMeter(getTypeString() + "toDisplay(Point)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.toDisplay(points[i]); - } - meter.stop(); - disposeMeter(meter); -} - -public void test_traverseI() { - final int COUNT = 3000000; - - PerformanceMeter meter = createMeter(getTypeString() + "traverse - TRAVERSE_ARROW_NEXT"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_ARROW_NEXT); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_ARROW_PREVIOUS"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_ARROW_PREVIOUS); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_ESCAPE"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_ESCAPE); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_MNEMONIC"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_MNEMONIC); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_NONE"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_NONE); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_PAGE_NEXT"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_PAGE_NEXT); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_PAGE_PREVIOUS"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_PAGE_PREVIOUS); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_RETURN"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_RETURN); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_TAB_NEXT"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_TAB_NEXT); - } - meter.stop(); - disposeMeter(meter); - - meter = createMeter(getTypeString() + "traverse - TRAVERSE_TAB_PREVIOUS"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - control.traverse(SWT.TRAVERSE_TAB_PREVIOUS); - } - meter.stop(); - 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_Button((String)e.nextElement())); - } - return suite; -} - -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_computeSizeII"); - methodNames.addElement("test_computeSizeIIZ"); - methodNames.addElement("test_forceFocus"); - methodNames.addElement("test_getBackground"); - methodNames.addElement("test_getBorderWidth"); - methodNames.addElement("test_getBounds"); - methodNames.addElement("test_getEnabled"); - methodNames.addElement("test_getFont"); - methodNames.addElement("test_getForeground"); - methodNames.addElement("test_getLocation"); - methodNames.addElement("test_getMenu"); - methodNames.addElement("test_getMonitor"); - methodNames.addElement("test_getParent"); - methodNames.addElement("test_getShell"); - methodNames.addElement("test_getSize"); - methodNames.addElement("test_getToolTipText"); - methodNames.addElement("test_getVisible"); - methodNames.addElement("test_isEnabled"); - methodNames.addElement("test_isFocusControl"); - methodNames.addElement("test_isVisible"); - methodNames.addElement("test_moveAboveLorg_eclipse_swt_widgets_Control"); - methodNames.addElement("test_moveBelowLorg_eclipse_swt_widgets_Control"); - methodNames.addElement("test_pack"); - methodNames.addElement("test_packZ"); - methodNames.addElement("test_redraw"); - methodNames.addElement("test_redrawIIIIZ"); - methodNames.addElement("test_setBackgroundLorg_eclipse_swt_graphics_Color"); - methodNames.addElement("test_setBoundsIIII"); - methodNames.addElement("test_setBoundsLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_setCaptureZ"); - methodNames.addElement("test_setCursorLorg_eclipse_swt_graphics_Cursor"); - methodNames.addElement("test_setEnabledZ"); - methodNames.addElement("test_setFocus"); - methodNames.addElement("test_setFontLorg_eclipse_swt_graphics_Font"); - methodNames.addElement("test_setForegroundLorg_eclipse_swt_graphics_Color"); - methodNames.addElement("test_setLocationII"); - methodNames.addElement("test_setLocationLorg_eclipse_swt_graphics_Point"); - methodNames.addElement("test_setMenuLorg_eclipse_swt_widgets_Menu"); - methodNames.addElement("test_setRedrawZ"); - methodNames.addElement("test_setSizeII"); - methodNames.addElement("test_setSizeLorg_eclipse_swt_graphics_Point"); - methodNames.addElement("test_setToolTipTextLjava_lang_String"); - methodNames.addElement("test_setVisibleZ"); - methodNames.addElement("test_toControlII"); - methodNames.addElement("test_toControlLorg_eclipse_swt_graphics_Point"); - methodNames.addElement("test_toDisplayII"); - methodNames.addElement("test_toDisplayLorg_eclipse_swt_graphics_Point"); - methodNames.addElement("test_traverseI"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_computeSizeII")) test_computeSizeII(); - else if (getName().equals("test_computeSizeIIZ")) test_computeSizeIIZ(); - else if (getName().equals("test_forceFocus")) test_forceFocus(); - else if (getName().equals("test_getBackground")) test_getBackground(); - else if (getName().equals("test_getBorderWidth")) test_getBorderWidth(); - else if (getName().equals("test_getBounds")) test_getBounds(); - else if (getName().equals("test_getEnabled")) test_getEnabled(); - else if (getName().equals("test_getFont")) test_getFont(); - else if (getName().equals("test_getForeground")) test_getForeground(); - else if (getName().equals("test_getLocation")) test_getLocation(); - else if (getName().equals("test_getMenu")) test_getMenu(); - else if (getName().equals("test_getMonitor")) test_getMonitor(); - else if (getName().equals("test_getParent")) test_getParent(); - else if (getName().equals("test_getShell")) test_getShell(); - else if (getName().equals("test_getSize")) test_getSize(); - else if (getName().equals("test_getToolTipText")) test_getToolTipText(); - else if (getName().equals("test_getVisible")) test_getVisible(); - else if (getName().equals("test_isEnabled")) test_isEnabled(); - else if (getName().equals("test_isFocusControl")) test_isFocusControl(); - else if (getName().equals("test_isVisible")) test_isVisible(); - else if (getName().equals("test_moveAboveLorg_eclipse_swt_widgets_Control")) test_moveAboveLorg_eclipse_swt_widgets_Control(); - else if (getName().equals("test_moveBelowLorg_eclipse_swt_widgets_Control")) test_moveBelowLorg_eclipse_swt_widgets_Control(); - else if (getName().equals("test_pack")) test_pack(); - else if (getName().equals("test_packZ")) test_packZ(); - else if (getName().equals("test_redraw")) test_redraw(); - else if (getName().equals("test_redrawIIIIZ")) test_redrawIIIIZ(); - else if (getName().equals("test_setBackgroundLorg_eclipse_swt_graphics_Color")) test_setBackgroundLorg_eclipse_swt_graphics_Color(); - else if (getName().equals("test_setBoundsIIII")) test_setBoundsIIII(); - else if (getName().equals("test_setBoundsLorg_eclipse_swt_graphics_Rectangle")) test_setBoundsLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_setCaptureZ")) test_setCaptureZ(); - else if (getName().equals("test_setCursorLorg_eclipse_swt_graphics_Cursor")) test_setCursorLorg_eclipse_swt_graphics_Cursor(); - else if (getName().equals("test_setEnabledZ")) test_setEnabledZ(); - else if (getName().equals("test_setFocus")) test_setFocus(); - else if (getName().equals("test_setFontLorg_eclipse_swt_graphics_Font")) test_setFontLorg_eclipse_swt_graphics_Font(); - else if (getName().equals("test_setForegroundLorg_eclipse_swt_graphics_Color")) test_setForegroundLorg_eclipse_swt_graphics_Color(); - else if (getName().equals("test_setLocationII")) test_setLocationII(); - else if (getName().equals("test_setLocationLorg_eclipse_swt_graphics_Point")) test_setLocationLorg_eclipse_swt_graphics_Point(); - else if (getName().equals("test_setMenuLorg_eclipse_swt_widgets_Menu")) test_setMenuLorg_eclipse_swt_widgets_Menu(); - else if (getName().equals("test_setRedrawZ")) test_setRedrawZ(); - else if (getName().equals("test_setSizeII")) test_setSizeII(); - else if (getName().equals("test_setSizeLorg_eclipse_swt_graphics_Point")) test_setSizeLorg_eclipse_swt_graphics_Point(); - else if (getName().equals("test_setToolTipTextLjava_lang_String")) test_setToolTipTextLjava_lang_String(); - else if (getName().equals("test_setVisibleZ")) test_setVisibleZ(); - else if (getName().equals("test_toControlII")) test_toControlII(); - else if (getName().equals("test_toControlLorg_eclipse_swt_graphics_Point")) test_toControlLorg_eclipse_swt_graphics_Point(); - else if (getName().equals("test_toDisplayII")) test_toDisplayII(); - else if (getName().equals("test_toDisplayLorg_eclipse_swt_graphics_Point")) test_toDisplayLorg_eclipse_swt_graphics_Point(); - else if (getName().equals("test_traverseI")) test_traverseI(); - else super.runTest(); -} - -/* custom */ - Control control; - boolean eventOccurred; - String typeString = ""; - -protected void setWidget(Widget w) { - control = (Control)w; - widget = w; - String fullName = control.getClass().getName(); - typeString = fullName.substring(fullName.lastIndexOf(".") + 1) + " "; -} - -private String getTypeString() { - return typeString; -} -/* custom */ -public Shell shell; -private Widget widget; -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Font.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Font.java deleted file mode 100644 index 8ad57a3d5a..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Font.java +++ /dev/null @@ -1,234 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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.swt.tests.junit.performance; - - -import org.eclipse.swt.*; -import org.eclipse.swt.tests.junit.performance.SwtJunit; -import org.eclipse.swt.widgets.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.test.performance.PerformanceMeter; - -import junit.framework.*; -import junit.textui.*; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.graphics.Font - * - * @see org.eclipse.swt.graphics.Font - */ -public class Test_org_eclipse_swt_graphics_Font extends SwtPerformanceTestCase { - Display display; - -public Test_org_eclipse_swt_graphics_Font(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -protected void setUp() throws Exception { - super.setUp(); - display = Display.getDefault(); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_Device$Lorg_eclipse_swt_graphics_FontData() { - final int COUNT = 160000; - - FontData[] data = new FontData [1]; - data[0] = new FontData (SwtJunit.testFontName, 10, SWT.BOLD | SWT.ITALIC); - - PerformanceMeter meter = createMeter("Font constr.(Device,$FontData"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - new Font(display, data).dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_FontData() { - final int COUNT = 170000; - - FontData data = new FontData (SwtJunit.testFontName, 10, SWT.BOLD | SWT.ITALIC); - - PerformanceMeter meter = createMeter("Font constr.(Device,FontData)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - new Font(display, data).dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_StringII() { - final int COUNT = 150000; - - PerformanceMeter meter = createMeter("Font constr.(Device,String,II) - no name"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // valid font with no name - new Font(display, "", 10, SWT.NORMAL).dispose(); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("Font constr.(Device,String,II) - unknown"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // valid font with unknown name - new Font(display, "bad-font", 10, SWT.NORMAL).dispose(); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("Font constr.(Device,String,II) - 0 height"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // valid font with 0 height - new Font(display, SwtJunit.testFontName, 0, SWT.NORMAL).dispose(); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("Font constr.(Device,String,II) - 10 pt"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // valid normal 10-point font - new Font(display, SwtJunit.testFontName, 10, SWT.NORMAL).dispose(); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("Font constr.(Device,String,II) - 100 pt"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // valid normal 100-point font - new Font(display, SwtJunit.testFontName, 100, SWT.NORMAL).dispose(); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("Font constr.(Device,String,II) - BI"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // valid bold italic 10-point font - new Font(display, SwtJunit.testFontName, 10, SWT.BOLD | SWT.ITALIC).dispose(); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("Font constr.(Device,String,II) - null dev"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Fonts. This is done because attempting to pre-create - * more than 20000 Fonts for disposal causes a No More Handles error. - */ - // device == null (valid) - new Font(null, SwtJunit.testFontName, 10, SWT.NORMAL).dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getFontData() { - final int COUNT = 250000; - - Font font = new Font(display, SwtJunit.testFontName, 40, SWT.BOLD | SWT.ITALIC); - - PerformanceMeter meter = createMeter("Font getFontData"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - font.getFontData(); - } - meter.stop(); - - font.dispose(); - - 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_org_eclipse_swt_graphics_Font((String)e.nextElement())); - } - return suite; -} -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_Device$Lorg_eclipse_swt_graphics_FontData"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_FontData"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_StringII"); - methodNames.addElement("test_getFontData"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_Device$Lorg_eclipse_swt_graphics_FontData")) test_ConstructorLorg_eclipse_swt_graphics_Device$Lorg_eclipse_swt_graphics_FontData(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_FontData")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_FontData(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_StringII")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_StringII(); - else if (getName().equals("test_getFontData")) test_getFontData(); -} -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_GC.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_GC.java deleted file mode 100644 index c68282e908..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_GC.java +++ /dev/null @@ -1,1188 +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.graphics.*; -import org.eclipse.swt.printing.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.test.performance.*; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.graphics.GC - * - * @see org.eclipse.swt.graphics.GC - */ -public class Test_org_eclipse_swt_graphics_GC extends SwtPerformanceTestCase { - -public Test_org_eclipse_swt_graphics_GC(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -protected void setUp() throws Exception { - super.setUp(); - display = Display.getDefault(); - shell = new Shell(display); - shell.setBounds(0,30,240,290); - image = new Image(display, 200, 200); - gc = new GC(image); -} - -protected void tearDown() throws Exception { - super.tearDown(); - gc.dispose(); - image.dispose(); - shell.dispose(); -} -public void test_ConstructorLorg_eclipse_swt_graphics_Drawable() { - int count = 4000; // 5000 causes No More Handles - - Image[] images = new Image [count]; - for (int i = 0; i < count; i++) { - images[i] = new Image(display, 10, 10); - } - GC[] gcs = new GC[count]; - - PerformanceMeter meter = createMeter("GC constr.(Drawable) - image"); - meter.start(); - for (int i = 0; i < count; i++) { - gcs[i] = new GC(images[i]); - } - meter.stop(); - - for (int i = 0; i < count; i++) { - gcs[i].dispose(); - images[i].dispose(); - } - - disposeMeter(meter); - - if (isGTK) return; - - count /= 10; - - Class printerClass = null; - try { - printerClass = Class.forName("org.eclipse.swt.printing.Printer"); - } catch (ClassNotFoundException e) { - // Printer class not present (eSWT). Skip test. - return; - } - Object[] printers = new Object[count]; - try { - for (int i = 0; i < count; i++) { - printers[i] = printerClass.newInstance(); - } - } catch (InstantiationException e1) { - return; - } catch (IllegalAccessException e1) { - return; - } - - meter = createMeter("GC constr.(Drawable) - printer"); - meter.start(); - for (int i = 0; i < count; i++) { - gcs[i] = new GC((Printer) printers[i]); - } - meter.stop(); - - for (int i = 0; i < count; i++) { - gcs[i].dispose(); - ((Printer)printers[i]).dispose(); - } - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DrawableI() { - int count = 4000; // 5000 causes No More Handles - - Image[] images = new Image[count]; - for (int i = 0; i < count; i++) { - images[i] = new Image(display, 10, 10); - } - GC[] gcs = new GC[count]; - - PerformanceMeter meter = createMeter("GC constr.(Drawable,I) - image"); - meter.start(); - for (int i = 0; i < count; i++) { - gcs[i] = new GC(images[i], SWT.RIGHT_TO_LEFT); - } - meter.stop(); - - for (int i = 0; i < count; i++) { - gcs[i].dispose(); - images[i].dispose(); - } - - disposeMeter(meter); - - if (isGTK) return; - - count /= 10; - - Class printerClass = null; - try { - printerClass = Class.forName("org.eclipse.swt.printing.Printer"); - } catch (ClassNotFoundException e) { - // Printer class not present (eSWT). Skip test. - return; - } - Object[] printers = new Object[count]; - try { - for (int i = 0; i < count; i++) { - printers[i] = printerClass.newInstance(); - } - } catch (InstantiationException e1) { - return; - } catch (IllegalAccessException e1) { - return; - } - - meter = createMeter("GC constr.(Drawable,I) - printer"); - meter.start(); - for (int i = 0; i < count; i++) { - gcs[i] = new GC((Printer) printers[i], SWT.RIGHT_TO_LEFT); - } - meter.stop(); - - for (int i = 0; i < count; i++) { - gcs[i].dispose(); - ((Printer)printers[i]).dispose(); - } - - disposeMeter(meter); -} - -public void test_copyAreaIIIIII() { - final int COUNT = 1500000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); - gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); - gc.fillRectangle(image.getBounds()); - gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE)); - gc.drawLine(5, 5, 10, 10); - gc.drawLine(5, 10, 10, 5); - - PerformanceMeter meter = createMeter("GC copyArea(IIIIII)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.copyArea(5, 5, 10, 10, coords[i][0], coords[i][1]); - } - meter.stop(); - while (display.readAndDispatch()); - disposeMeter(meter); -} - -public void test_copyAreaLorg_eclipse_swt_graphics_ImageII() { - final int COUNT = 4000; // 5000 causes No More Handles - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); - gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); - gc.fillRectangle(image.getBounds()); - gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE)); - gc.drawLine(5, 5, 10, 10); - gc.drawLine(5, 10, 10, 5); - - Image[] images = new Image[COUNT]; - for (int i = 0; i < COUNT; i++) { - images[i] = new Image(display, 15, 15); - } - - PerformanceMeter meter = createMeter("GC copyArea(Image,II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.copyArea(images[i], coords[i][0], coords[i][1]); - } - meter.stop(); - - for (int i = 0; i < COUNT; i++) { - images[i].dispose(); - } - - disposeMeter(meter); -} - -public void test_dispose() { - final int COUNT = 3000; // 4000 causes No More Handles - - Image[] images = new Image [COUNT]; - GC[] gcs = new GC [COUNT]; - for (int i = 0; i < COUNT; i++) { - images[i] = new Image(display, 10, 10); - gcs[i] = new GC(images[i]); - } - - PerformanceMeter meter = createMeter("GC dispose"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gcs[i].dispose(); // dispose - } - meter.stop(); - - for (int i = 0; i < COUNT; i++) { - images[i].dispose(); - } - - disposeMeter(meter); -} - -public void test_drawArcIIIIII() { - final int COUNT = 200000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawArc"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawArc(coords[i][0], coords[i][1], 50, 25, 90, 90); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawFocusIIII() { - final int COUNT = 750000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawFocus"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawFocus(coords[i][0], coords[i][1], 30, 20); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawImageLorg_eclipse_swt_graphics_ImageII() { - int count = 120000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[count][]; - int y = 0; - for (int i = 0; i < count; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - Color red = display.getSystemColor(SWT.COLOR_RED); - Color black = display.getSystemColor(SWT.COLOR_BLACK); - Color green = display.getSystemColor(SWT.COLOR_GREEN); - PaletteData paletteData = new PaletteData(new RGB[] {red.getRGB(), black.getRGB(), green.getRGB()}); - ImageData data = new ImageData(30,30, 8, paletteData); - for (y = 0; y < data.height; y++) { - for (int x = 0; x < data.width; x++) { - if (x > y) data.setPixel(x, y, paletteData.getPixel(red.getRGB())); - else if (x < y) data.setPixel(x, y, paletteData.getPixel(black.getRGB())); - else data.setPixel(x, y, paletteData.getPixel(green.getRGB())); - } - } - Image imageNormal = new Image(display, data); - data = imageNormal.getImageData(); - data.transparentPixel = paletteData.getPixel(red.getRGB()); - Image imageTransparent = new Image(display, data); - data.transparentPixel = -1; - for (y = 0; y < data.height; y++) { - for (int x = 0; x < data.width; x++) { - data.setAlpha(x, y, 127); - } - } - Image imageAlpha = new Image(display, data); - gc.drawImage(imageNormal, 100, 100); - gc.drawImage(imageTransparent, 130, 100); - gc.drawImage(imageAlpha, 160, 100); - - try { - PerformanceMeter meter = createMeter("GC drawImage - normal"); - meter.start(); - for (int i = 0; i < count; i++) { - gc.drawImage(imageNormal, coords[i][0], coords[i][1]); // normal image - } - meter.stop(); - - disposeMeter(meter); - - count /= 100; - - meter = createMeter("GC drawImage - transparent"); - meter.start(); - for (int i = 0; i < count; i++) { - gc.drawImage(imageTransparent, coords[i][0], coords[i][1]); // transparent image - } - meter.stop(); - - disposeMeter(meter); - - count *= 10; - - meter = createMeter("GC drawImage - alpha"); - meter.start(); - for (int i = 0; i < count; i++) { - gc.drawImage(imageAlpha, coords[i][0], coords[i][1]); // alpha image - } - meter.stop(); - - disposeMeter(meter); - } finally { - imageNormal.dispose(); - imageTransparent.dispose(); - imageAlpha.dispose(); - } -} - -public void test_drawImageLorg_eclipse_swt_graphics_ImageIIIIIIII() { - // TODO -// Color c1 = new Color(display, 255, 0, 0); -// Color c2 = new Color(display, 0, 0, 0); -// Color c3 = new Color(display, 255, 255, 0); -// -// PaletteData paletteData = new PaletteData(new RGB[] {c1.getRGB(), c2.getRGB(), c3.getRGB()}); -// ImageData data = new ImageData(30,30, 8, paletteData); -// for (int y = 0; y < data.height; y++) { -// for (int x = 0; x < data.width; x++) { -// if (x > y) data.setPixel(x, y, paletteData.getPixel(c1.getRGB())); -// else if (x < y) data.setPixel(x, y, paletteData.getPixel(c2.getRGB())); -// else data.setPixel(x, y, paletteData.getPixel(c3.getRGB())); -// } -// } -// Image image = new Image(display, data); -// data = image.getImageData(); -// data.transparentPixel = paletteData.getPixel(c1.getRGB()); -// Image imageTransparent = new Image(display, data); -// data.transparentPixel = -1; -// for (int y = 0; y < data.height; y++) { -// for (int x = 0; x < data.width; x++) { -// data.setAlpha(x, y, 127); -// } -// } -// Image imageAlpha = new Image(display, data); -// -// gc.drawImage(image, 10, 5, 20, 15, 100, 120, 50, 60); -// gc.drawImage(imageTransparent, 10, 5, 20, 15, 100, 120, 10, 10); -// gc.drawImage(imageAlpha, 10, 5, 20, 15, 100, 120, 20, 15); -// try { -// gc.drawImage(null, 10, 5, 20, 15, 100, 120, 50, 60); -// fail("No exception thrown"); //should never get here -// } -// catch (IllegalArgumentException e) { -// } -// image.dispose(); -// imageAlpha.dispose(); -// imageTransparent.dispose(); -} - -public void test_drawLineIIII() { - final int COUNT = 750000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y, x+5,y+5}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawLine"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawLine(coords[i][0],coords[i][1], coords[i][2],coords[i][3]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawOvalIIII() { - final int COUNT = 700000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawOval"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawOval(coords[i][0], coords[i][1], 20, 30); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawPointII() { - final int COUNT = 1500000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawPoint"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawPoint(coords[i][0], coords[i][1]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawPolygon$I() { - final int COUNT = 750000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y, x+5,y+10, x,y+20}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawPolygon"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawPolygon(coords[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawPolyline$I() { - final int COUNT = 550000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y, x+5,y+10, x,y+20}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawPolyline"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawPolyline(coords[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawRectangleIIII() { - final int COUNT = 1200000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawRectangle(IIII)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawRectangle(coords[i][0], coords[i][1], 20, 30); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawRectangleLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 1200000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final Rectangle[] coords = new Rectangle[COUNT]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new Rectangle (x, y, 20, 30); - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawRectangle(Rectangle)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawRectangle(coords[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_drawRoundRectangleIIIIII() { - final int COUNT = 400000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC drawRoundRectangle"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.drawRoundRectangle(coords[i][0], coords[i][1], 20, 30, 3, 3); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillArcIIIIII() { - final int COUNT = 200000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 10; - } - - PerformanceMeter meter = createMeter("GC fillArc"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillArc(coords[i][0], coords[i][1], 20, 10, 90, 90); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillGradientRectangleIIIIZ() { - final int COUNT = 250000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 10; - } - - PerformanceMeter meter = createMeter("GC fillGradientRectangle(IIIIZ) - vert"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillGradientRectangle(coords[i][0], coords[i][1], 20, 10, true); - } - meter.stop(); - - disposeMeter(meter); - - meter = createMeter("GC fillGradientRectangle(IIIIZ) - horiz"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillGradientRectangle(coords[i][0], coords[i][1], 20, 10, false); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillOvalIIII() { - final int COUNT = 750000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 10; - } - - PerformanceMeter meter = createMeter("GC fillOval"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillOval(coords[i][0], coords[i][1], 20, 10); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillPolygon$I() { - final int COUNT = 700000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y, x+5,y+5, x,y+10}; - if (x == 0) y += 10; - } - - PerformanceMeter meter = createMeter("GC fillPolygon"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillPolygon(coords[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillRectangleIIII() { - final int COUNT = 2000000; // 3000000 caises OOM - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 10; - } - - PerformanceMeter meter = createMeter("GC fillRectangle(IIII)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillRectangle(coords[i][0], coords[i][1], 20, 10); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillRectangleLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 2000000; // 3000000 causes OOM - - // precompute points - Rectangle bounds = gc.getClipping(); - final Rectangle[] coords = new Rectangle[COUNT]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new Rectangle (x, y, 20, 10); - if (x == 0) y += 10; - } - - PerformanceMeter meter = createMeter("GC fillRectangle(Rectangle)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillRectangle(coords[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_fillRoundRectangleIIIIII() { - final int COUNT = 400000; - - // precompute points - Rectangle bounds = gc.getClipping(); - final int[][] coords = new int[COUNT][]; - int y = 0; - for (int i = 0; i < COUNT; i++) { - int x = i % bounds.width; - coords[i] = new int[] {x,y}; - if (x == 0) y += 3; - } - - PerformanceMeter meter = createMeter("GC fillRoundRectangle"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.fillRoundRectangle(coords[i][0], coords[i][1], 20, 30, 3, 3); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getBackground() { - final int COUNT = 15000000; - - PerformanceMeter meter = createMeter("GC getBackground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getBackground(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getClipping() { - final int COUNT = 1200000; - - PerformanceMeter meter = createMeter("GC getClipping()"); - //meter.start(); - long before = System.currentTimeMillis(); - for (int i = 0; i < COUNT; i++) { - gc.getClipping(); - } - long after = System.currentTimeMillis(); - System.out.println("test took " + (after - before) + " milliseconds."); - ///meter.stop(); - - disposeMeter(meter); -} - -public void test_getClippingLorg_eclipse_swt_graphics_Region() { - final int COUNT = 1200000; - - Region region = new Region(display); - - PerformanceMeter meter = createMeter("GC getClipping(Region)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getClipping(region); - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_getFont() { - final int COUNT = 2000000; - - PerformanceMeter meter = createMeter("GC getFont"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getFont(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getFontMetrics() { - final int COUNT = 1500000; - - PerformanceMeter meter = createMeter("GC getFontMetrics"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getFontMetrics(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getForeground() { - final int COUNT = 15000000; - - PerformanceMeter meter = createMeter("GC getForeground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getForeground(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getLineStyle() { - final int COUNT = 1200000; - - PerformanceMeter meter = createMeter("GC getLineStyle"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getLineStyle(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getLineWidth() { - final int COUNT = 1200000; - - PerformanceMeter meter = createMeter("GC getLineWidth"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getLineWidth(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getStyle() { - final int COUNT = 250000000; - - PerformanceMeter meter = createMeter("GC getStyle"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getStyle(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getXORMode() { - final int COUNT = 25000000; - - PerformanceMeter meter = createMeter("GC getXORMode"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.getXORMode(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setBackgroundLorg_eclipse_swt_graphics_Color() { - final int COUNT = 22000000; - - final Color color = display.getSystemColor(SWT.COLOR_RED); - PerformanceMeter meter = createMeter("GC setBackground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.setBackground(color); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setClippingIIII() { - // TODO - // intermittently fails on XP for reasons unknown, comment out the test case - // until the problem is figured out -// Canvas canvas = new Canvas(shell, SWT.BORDER); -// shell.setSize(110,110); -// canvas.setSize(100,100); -// shell.open(); -// GC testGc = new GC(canvas); -// testGc.setClipping(0,5,10,20); -// Rectangle rect = testGc.getClipping(); -// assertTrue(rect.x == 0); -// assertTrue(rect.y == 5); -// assertTrue(rect.width == 10); -// assertTrue(rect.height == 20); -// testGc.dispose(); -// canvas.dispose(); -} - -public void test_setClippingLorg_eclipse_swt_graphics_Rectangle() { - // TODO - // intermittently fails on XP for reasons unknown, comment out the test case - // until the problem is figured out -// Canvas canvas = new Canvas(shell, SWT.BORDER); -// shell.setSize(110,110); -// canvas.setSize(100,100); -// shell.open(); -// GC testGc = new GC(canvas); -// testGc.setClipping(new Rectangle(0,5,10,20)); -// Rectangle rect = testGc.getClipping(); -// assertTrue(rect.x == 0); -// assertTrue(rect.y == 5); -// assertTrue(rect.width == 10); -// assertTrue(rect.height == 20); -// testGc.dispose(); -// canvas.dispose(); -} - -public void test_setClippingLorg_eclipse_swt_graphics_Region() { - // TODO -} - -public void test_setFontLorg_eclipse_swt_graphics_Font() { - // TODO -} - -public void test_setForegroundLorg_eclipse_swt_graphics_Color() { - final int COUNT = 25000000; - - final Color color = display.getSystemColor(SWT.COLOR_RED); - PerformanceMeter meter = createMeter("GC setForeground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.setForeground(color); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setLineStyleI() { - final int COUNT = 450000; - - // precompute the styles - final int[] styles = new int[COUNT]; - for (int i = 0; i < COUNT; i++) { - switch (i % 5) { - case 0: styles[i] = SWT.LINE_DASH; break; - case 1: styles[i] = SWT.LINE_DASHDOT; break; - case 2: styles[i] = SWT.LINE_DASHDOTDOT; break; - case 3: styles[i] = SWT.LINE_DOT; break; - case 4: styles[i] = SWT.LINE_SOLID; break; - } - } - - PerformanceMeter meter = createMeter("GC setLineStyle"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.setLineStyle(styles[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setLineWidthI() { - final int COUNT = 400000; - - // precompute the widths - final int[] widths = new int[COUNT]; - for (int i = 0; i < COUNT; i++) { - widths[i] = i % 10 + 1; - } - - PerformanceMeter meter = createMeter("GC setLineWidth"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.setLineWidth(widths[i]); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setXORModeZ() { - final int COUNT = 25000000; - - // precompute the values - final boolean[] values = new boolean[COUNT]; - for (int i = 0; i < COUNT; i++) { - values[i] = (i % 2 == 0); - } - - PerformanceMeter meter = createMeter("GC setXORMode"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - gc.setXORMode(values[i]); - } - meter.stop(); - - 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_org_eclipse_swt_graphics_GC((String)e.nextElement())); - } - return suite; -} -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_Drawable"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DrawableI"); - methodNames.addElement("test_copyAreaIIIIII"); - methodNames.addElement("test_copyAreaLorg_eclipse_swt_graphics_ImageII"); - methodNames.addElement("test_dispose"); - methodNames.addElement("test_drawArcIIIIII"); - methodNames.addElement("test_drawFocusIIII"); - methodNames.addElement("test_drawImageLorg_eclipse_swt_graphics_ImageII"); - methodNames.addElement("test_drawImageLorg_eclipse_swt_graphics_ImageIIIIIIII"); - methodNames.addElement("test_drawLineIIII"); - methodNames.addElement("test_drawOvalIIII"); - methodNames.addElement("test_drawPointII"); - methodNames.addElement("test_drawPolygon$I"); - methodNames.addElement("test_drawPolyline$I"); - methodNames.addElement("test_drawRectangleIIII"); - methodNames.addElement("test_drawRectangleLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_drawRoundRectangleIIIIII"); - methodNames.addElement("test_fillArcIIIIII"); - methodNames.addElement("test_fillGradientRectangleIIIIZ"); - methodNames.addElement("test_fillOvalIIII"); - methodNames.addElement("test_fillPolygon$I"); - methodNames.addElement("test_fillRectangleIIII"); - methodNames.addElement("test_fillRectangleLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_fillRoundRectangleIIIIII"); - methodNames.addElement("test_getBackground"); - methodNames.addElement("test_getClipping"); - methodNames.addElement("test_getClippingLorg_eclipse_swt_graphics_Region"); - methodNames.addElement("test_getFont"); - methodNames.addElement("test_getFontMetrics"); - methodNames.addElement("test_getForeground"); - methodNames.addElement("test_getLineStyle"); - methodNames.addElement("test_getLineWidth"); - methodNames.addElement("test_getStyle"); - methodNames.addElement("test_getXORMode"); - methodNames.addElement("test_setBackgroundLorg_eclipse_swt_graphics_Color"); - methodNames.addElement("test_setClippingIIII"); - methodNames.addElement("test_setClippingLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_setClippingLorg_eclipse_swt_graphics_Region"); - methodNames.addElement("test_setFontLorg_eclipse_swt_graphics_Font"); - methodNames.addElement("test_setForegroundLorg_eclipse_swt_graphics_Color"); - methodNames.addElement("test_setLineStyleI"); - methodNames.addElement("test_setLineWidthI"); - methodNames.addElement("test_setXORModeZ"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_Drawable")) test_ConstructorLorg_eclipse_swt_graphics_Drawable(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DrawableI")) test_ConstructorLorg_eclipse_swt_graphics_DrawableI(); - else if (getName().equals("test_copyAreaIIIIII")) test_copyAreaIIIIII(); - else if (getName().equals("test_copyAreaLorg_eclipse_swt_graphics_ImageII")) test_copyAreaLorg_eclipse_swt_graphics_ImageII(); - else if (getName().equals("test_dispose")) test_dispose(); - else if (getName().equals("test_drawArcIIIIII")) test_drawArcIIIIII(); - else if (getName().equals("test_drawFocusIIII")) test_drawFocusIIII(); - else if (getName().equals("test_drawImageLorg_eclipse_swt_graphics_ImageII")) test_drawImageLorg_eclipse_swt_graphics_ImageII(); - else if (getName().equals("test_drawImageLorg_eclipse_swt_graphics_ImageIIIIIIII")) test_drawImageLorg_eclipse_swt_graphics_ImageIIIIIIII(); - else if (getName().equals("test_drawLineIIII")) test_drawLineIIII(); - else if (getName().equals("test_drawOvalIIII")) test_drawOvalIIII(); - else if (getName().equals("test_drawPointII")) test_drawPointII(); - else if (getName().equals("test_drawPolygon$I")) test_drawPolygon$I(); - else if (getName().equals("test_drawPolyline$I")) test_drawPolyline$I(); - else if (getName().equals("test_drawRectangleIIII")) test_drawRectangleIIII(); - else if (getName().equals("test_drawRectangleLorg_eclipse_swt_graphics_Rectangle")) test_drawRectangleLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_drawRoundRectangleIIIIII")) test_drawRoundRectangleIIIIII(); - else if (getName().equals("test_fillArcIIIIII")) test_fillArcIIIIII(); - else if (getName().equals("test_fillGradientRectangleIIIIZ")) test_fillGradientRectangleIIIIZ(); - else if (getName().equals("test_fillOvalIIII")) test_fillOvalIIII(); - else if (getName().equals("test_fillPolygon$I")) test_fillPolygon$I(); - else if (getName().equals("test_fillRectangleIIII")) test_fillRectangleIIII(); - else if (getName().equals("test_fillRectangleLorg_eclipse_swt_graphics_Rectangle")) test_fillRectangleLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_fillRoundRectangleIIIIII")) test_fillRoundRectangleIIIIII(); - else if (getName().equals("test_getBackground")) test_getBackground(); - else if (getName().equals("test_getClipping")) test_getClipping(); - else if (getName().equals("test_getClippingLorg_eclipse_swt_graphics_Region")) test_getClippingLorg_eclipse_swt_graphics_Region(); - else if (getName().equals("test_getFont")) test_getFont(); - else if (getName().equals("test_getFontMetrics")) test_getFontMetrics(); - else if (getName().equals("test_getForeground")) test_getForeground(); - else if (getName().equals("test_getLineStyle")) test_getLineStyle(); - else if (getName().equals("test_getLineWidth")) test_getLineWidth(); - else if (getName().equals("test_getStyle")) test_getStyle(); - else if (getName().equals("test_getXORMode")) test_getXORMode(); - else if (getName().equals("test_setBackgroundLorg_eclipse_swt_graphics_Color")) test_setBackgroundLorg_eclipse_swt_graphics_Color(); - else if (getName().equals("test_setClippingIIII")) test_setClippingIIII(); - else if (getName().equals("test_setClippingLorg_eclipse_swt_graphics_Rectangle")) test_setClippingLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_setClippingLorg_eclipse_swt_graphics_Region")) test_setClippingLorg_eclipse_swt_graphics_Region(); - else if (getName().equals("test_setFontLorg_eclipse_swt_graphics_Font")) test_setFontLorg_eclipse_swt_graphics_Font(); - else if (getName().equals("test_setForegroundLorg_eclipse_swt_graphics_Color")) test_setForegroundLorg_eclipse_swt_graphics_Color(); - else if (getName().equals("test_setLineStyleI")) test_setLineStyleI(); - else if (getName().equals("test_setLineWidthI")) test_setLineWidthI(); - else if (getName().equals("test_setXORModeZ")) test_setXORModeZ(); -} - -/* custom */ -Display display; -Shell shell; -Image image; -GC gc; - -/** - * Return the actual RGB value used for rendering for the given Color. - * This may be different from the Color's RGB value on lower-color displays - * (16bpp or less). - */ -RGB getRealRGB(Color color) { - Image colorImage = new Image(display, 10, 10); - GC imageGc = new GC(colorImage); - ImageData imageData; - PaletteData palette; - int pixel; - - imageGc.setBackground(color); - imageGc.setForeground(color); - imageGc.fillRectangle(0, 0, 10, 10); - imageData = colorImage.getImageData(); - palette = imageData.palette; - imageGc.dispose(); - colorImage.dispose(); - pixel = imageData.getPixel(0, 0); - return palette.getRGB(pixel); -} -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Image.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Image.java deleted file mode 100644 index 3a7d73d45a..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Image.java +++ /dev/null @@ -1,354 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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.swt.tests.junit.performance; - - -import java.io.*; - -import junit.framework.*; -import junit.textui.*; - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.test.performance.PerformanceMeter; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.graphics.Image - * - * @see org.eclipse.swt.graphics.Image - */ -public class Test_org_eclipse_swt_graphics_Image extends SwtPerformanceTestCase { - -public Test_org_eclipse_swt_graphics_Image(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -protected void setUp() throws Exception { - super.setUp(); - display = Display.getDefault(); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceII() { - final int COUNT = 30000; - - PerformanceMeter meter = createMeter("Image constr.(Device,II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Images. This is necessary because attempting to defer - * the image disposal until the timer has been stopped causes a No More - * Handles error. - */ - new Image(display, 100, 100).dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageI() { - final int COUNT = 6000; - String name = getPath(imageFilenames[0] + "." + imageFormats[0]); - FileInputStream inStream = null; - try { - inStream = new FileInputStream(name); - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } - ImageData[] data = new ImageLoader().load(inStream); - try { - inStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - Image image = new Image (display, data[0]); - image.setBackground(display.getSystemColor(SWT.COLOR_GREEN)); - - Image[] images = new Image[COUNT]; - - PerformanceMeter meter = createMeter("Image constr.(Device,Image,I) - copy"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - images[i] = new Image(display, image, SWT.IMAGE_COPY); - } - meter.stop(); - - for (int i = 0; i < COUNT; i++) { - images[i].dispose(); - } - - disposeMeter(meter); - - meter = createMeter("Image constr.(Device,Image,I) - disable"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - images[i] = new Image(display, image, SWT.IMAGE_DISABLE); - } - meter.stop(); - - for (int i = 0; i < COUNT; i++) { - images[i].dispose(); - } - - disposeMeter(meter); - - meter = createMeter("Image constr.(Device,Image,I) - gray"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - images[i] = new Image(display, image, SWT.IMAGE_GRAY); - } - meter.stop(); - - for (int i = 0; i < COUNT; i++) { - images[i].dispose(); - } - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 30000; - - Rectangle rectangle = new Rectangle(0, 0, 100, 100); - - PerformanceMeter meter = createMeter("Image constr.(Device,Rectangle)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Images. This is necessary because attempting to defer - * the image disposal until the timer has been stopped causes a No More - * Handles error. - */ - new Image(display, rectangle).dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageData() { - final int COUNT = 60000; - - String name = getPath(imageFilenames[0] + "." + imageFormats[0]); - FileInputStream inStream = null; - try { - inStream = new FileInputStream(name); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - ImageData[] imageData = new ImageLoader().load(inStream); - try { - inStream.close(); - } catch (IOException e1) { - e1.printStackTrace(); - } - - PerformanceMeter meter = createMeter("Image constr.(Device,ImageData)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - /* - * This test is not really valid since it's measuring both creation and - * disposal of the Images. This is done because attempting to pre-create - * more than 8000 Images for disposal causes a No More Handles error. - */ - new Image(display, imageData[0]).dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageDataLorg_eclipse_swt_graphics_ImageData() { - final int COUNT = 4000; // 5000 causes an error - - Image[] images = new Image[COUNT]; - String name = getPath(imageFilenames[0] + "." + imageFormats[0]); - FileInputStream inStream = null; - try { - inStream = new FileInputStream(name); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - ImageData imageData = new ImageLoader().load(inStream)[0]; - ImageData imageData1 = new ImageData(imageData.width, imageData.height, 1, new PaletteData(new RGB[] {new RGB(0, 0, 0), new RGB(255,255,255)})); - try { - inStream.close(); - } catch (IOException e1) { - e1.printStackTrace(); - } - - PerformanceMeter meter = createMeter("Image constr.(Device,ImageData,ImageData)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - images[i] = new Image(display, imageData, imageData1); - } - meter.stop(); - - for (int i = 0; i < COUNT; i++) { - images[i].dispose(); - } - - disposeMeter(meter); -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_io_InputStream() { - // TODO -} - -public void test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_String() { - final int COUNT = 1000; - - int numFileNames = imageFilenames.length; - int numFormats = imageFormats.length; - for (int k = 0; k < numFileNames; k++) { - String fileName = imageFilenames[k]; - for (int i=0; i<numFormats; i++) { - String format = imageFormats[i]; - String pathName = getPath(fileName + "." + format); - Image[] images = new Image[COUNT]; - - PerformanceMeter meter = createMeter("Image constr.(Device,String) - " + fileName + "." + format); - meter.start(); - for (int j = 0; j < COUNT; j++) { - images[j] = new Image(display, pathName); - } - meter.stop(); - - for (int j = 0; j < COUNT; j++) { - images[j].dispose(); - } - - disposeMeter(meter); - } - } -} - -public void test_getBackground() { - final int COUNT = 60000000; - - Image image = new Image(display, 100, 100); - image.setBackground(display.getSystemColor(SWT.COLOR_GREEN)); - - PerformanceMeter meter = createMeter("Image getBackground"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - image.getBackground(); - } - meter.stop(); - - image.dispose(); - - disposeMeter(meter); -} - -public void test_getBounds() { - final int COUNT = 1200000; - - Image image = new Image(display, 10, 20); - - PerformanceMeter meter = createMeter("Image getBounds"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - image.getBounds(); - } - meter.stop(); - - image.dispose(); - - disposeMeter(meter); -} - -public void test_getImageData() { - final int COUNT = 50000; - - ImageData imageData = new ImageData(10, 10, 1, new PaletteData(new RGB[] {new RGB(0, 0, 0)})); - Image image = new Image(display, imageData); - - PerformanceMeter meter = createMeter("Image getImageData"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - image.getImageData(); - } - meter.stop(); - - image.dispose(); - - disposeMeter(meter); -} - -public void test_setBackgroundLorg_eclipse_swt_graphics_Color() { - final int COUNT = 60000000; - - Image image = new Image(display, 100, 100); - Color color1 = display.getSystemColor(SWT.COLOR_GREEN); - Color color2 = display.getSystemColor(SWT.COLOR_RED); - - PerformanceMeter meter = createMeter("Image setBackground"); - meter.start(); - for (int i = 0; i < COUNT / 2; i++) { - image.setBackground(color1); - image.setBackground(color2); - } - meter.stop(); - - image.dispose(); - - 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_org_eclipse_swt_graphics_Image((String)e.nextElement())); - } - return suite; -} -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceII"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_io_InputStream"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_String"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageData"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageDataLorg_eclipse_swt_graphics_ImageData"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageI"); - methodNames.addElement("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_getBackground"); - methodNames.addElement("test_getBounds"); - methodNames.addElement("test_getImageData"); - methodNames.addElement("test_setBackgroundLorg_eclipse_swt_graphics_Color"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceII")) test_ConstructorLorg_eclipse_swt_graphics_DeviceII(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_io_InputStream")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_io_InputStream(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_String")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLjava_lang_String(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageData")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageData(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageDataLorg_eclipse_swt_graphics_ImageData")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageDataLorg_eclipse_swt_graphics_ImageData(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageI")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_ImageI(); - else if (getName().equals("test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_Rectangle")) test_ConstructorLorg_eclipse_swt_graphics_DeviceLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_getBackground")) test_getBackground(); - else if (getName().equals("test_getBounds")) test_getBounds(); - else if (getName().equals("test_getImageData")) test_getImageData(); - else if (getName().equals("test_setBackgroundLorg_eclipse_swt_graphics_Color")) test_setBackgroundLorg_eclipse_swt_graphics_Color(); -} -/* custom */ -Display display; - -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_ImageData.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_ImageData.java deleted file mode 100644 index 5d8a2f90f2..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_ImageData.java +++ /dev/null @@ -1,424 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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.swt.tests.junit.performance; - - -import java.io.*; - -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.test.performance.PerformanceMeter; - -import junit.framework.*; -import junit.textui.*; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.graphics.ImageData - * - * @see org.eclipse.swt.graphics.ImageData - */ -public class Test_org_eclipse_swt_graphics_ImageData extends SwtPerformanceTestCase { - -public Test_org_eclipse_swt_graphics_ImageData(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -protected void setUp() throws Exception { - super.setUp(); - imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 32, new PaletteData(0xFF0000, 0xFF00, 0xFF)); -} - -public void test_ConstructorIIILorg_eclipse_swt_graphics_PaletteData() { - int count = 500000; - - int[] validDepths = {1, 2, 4, 8, 16, 24, 32}; - PaletteData paletteData = new PaletteData(new RGB[] {new RGB(0, 0, 0)}); - for (int i = 0; i < validDepths.length; i++) { - if (validDepths[i] % 8 == 0) count /= 2; - PerformanceMeter meter = createMeter("ImageData constr.(II,PaletteData) - " + validDepths[i]); - meter.start(); - for (int j = 0; j < count; j++) { - new ImageData(100, 100, validDepths[i], paletteData); - } - meter.stop(); - disposeMeter(meter); - }; -} - -public void test_ConstructorIIILorg_eclipse_swt_graphics_PaletteDataI$B() { - final int COUNT = 7000000; - - PaletteData paletteData = new PaletteData(new RGB[] {new RGB(0, 0, 0)}); - byte[] data = new byte[] {}; - int[] validDepths = {1, 2, 4, 8, 16, 24, 32}; - - for (int i = 0; i < validDepths.length; i++) { - PerformanceMeter meter = createMeter("ImageData constr.(II,PaletteData,I$B) - " + validDepths[i]); - meter.start(); - for (int j = 0; j < COUNT; j++) { - new ImageData(100, 100, validDepths[i], paletteData, 1, data); - } - meter.stop(); - disposeMeter(meter); - } -} - -public void test_ConstructorLjava_io_InputStream() { - // TODO -} - -public void test_ConstructorLjava_lang_String() { - final int COUNT = 2500; - - // j2se and j2me(cdc) can load from a filename but, j2me(cldc) throws an exception - if (isJ2ME()) return; - - int numFormats = imageFormats.length; - int numFileNames = imageFilenames.length; - for (int k = 0; k < numFileNames; k++) { - String fileName = imageFilenames[k]; - for (int i = 0; i < numFormats; i++) { - String format = imageFormats[i]; - String fullName = getPath(fileName + "." + format); - - PerformanceMeter meter = createMeter("ImageData constr.(String) - " + fileName + "." + format); - meter.start(); - for (int j = 0; j < COUNT; j++) { - new ImageData(fullName); - } - meter.stop(); - - disposeMeter(meter); - } - } -} - -public void test_getAlphaII() { - final int COUNT = 60000000; - - imageData.setAlpha(0, 0, 0xAA); - - PerformanceMeter meter = createMeter("ImageData getAlpha"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getAlpha(0, 0); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getAlphasIII$BI() { - final int COUNT = 14000000; - - byte value = (byte)0xAA; - byte[] values = new byte[] {value, (byte) (value+1), (byte) (value+2), (byte) (value+3), (byte) (value+4)}; - byte[] alphaData = new byte[20]; - imageData.setAlphas(0, 1, values.length, values, 0); - - PerformanceMeter meter = createMeter("ImageData getAlphas"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getAlphas(0, 1, 10, alphaData, 10); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getPixelII() { - final int COUNT = 50000000; - - imageData.setPixel(0, 0, 0xAA); - - PerformanceMeter meter = createMeter("ImageData getPixel"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getPixel(0, 0); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getPixelsIII$BI() { - final int COUNT = 14000000; - - byte[] pixelData = new byte[20]; - PaletteData paletteData = new PaletteData(0xFF0000, 0xFF00, 0xFF); - imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 8, paletteData); - - PerformanceMeter meter = createMeter("ImageData getPixels(III$BI)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getPixels(0, 1, 10, pixelData, 10); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getPixelsIII$II() { - final int COUNT = 10000000; - - int[] pixelData = new int[20]; - PaletteData paletteData = new PaletteData(0xFF0000, 0xFF00, 0xFF); - imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 32, paletteData); - - PerformanceMeter meter = createMeter("ImageData getPixels(III$II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getPixels(0, 1, 10, pixelData, 10); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getTransparencyMask() { - final int COUNT = 200000; - - String name = getPath(transparentImageFilenames[0]); - FileInputStream inStream = null; - try { - inStream = new FileInputStream(name); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - Image image = new Image(Display.getDefault(), inStream); - imageData = image.getImageData(); - image.dispose(); - try { - inStream.close(); - } catch (IOException e1) { - e1.printStackTrace(); - } - - PerformanceMeter meter = createMeter("ImageData getTransparencyMask"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getTransparencyMask(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_getTransparencyType() { - final int COUNT = 300000000; - - FileInputStream inStream = null; - String name = getPath(imageFilenames[0] + '.' + imageFormats[imageFormats.length-1]); - try { - inStream = new FileInputStream(name); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - Image image = new Image(Display.getDefault(), inStream); - imageData = image.getImageData(); - image.dispose(); - try { - inStream.close(); - } catch (IOException e1) { - e1.printStackTrace(); - } - - PerformanceMeter meter = createMeter("ImageData getTransparencyType"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.getTransparencyType(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_scaledToII() { - final int COUNT = 100000; - - int imageDimension = 8; - RGB[] rgbs = new RGB[]{new RGB(0, 0, 0), new RGB(255, 255, 255)}; - byte[] pixelData = new byte[(imageDimension*imageDimension) / 8]; - pixelData[0] = 0x4F; - imageData = new ImageData(imageDimension, imageDimension, 1, new PaletteData(rgbs), 1, pixelData); - int newHeight = imageDimension * 10; - - PerformanceMeter meter = createMeter("ImageData scaledTo"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.scaledTo(imageDimension, newHeight); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setAlphaIII() { - final int COUNT = 80000000; - - PerformanceMeter meter = createMeter("ImageData setAlpha"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.setAlpha(0, 0, 0xAA); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setAlphasIII$BI() { - final int COUNT = 15000000; - - byte value = (byte) 0xAA; - int OFFSET = 1; - byte[] alphaData = new byte[20]; - byte[] values = new byte[] {value, (byte) (value+1), (byte) (value+2), (byte) (value+3), (byte) (value+4)}; - imageData.setAlphas(0, 1, values.length - OFFSET, values, OFFSET); - int putWidth = values.length - OFFSET; - - PerformanceMeter meter = createMeter("ImageData setAlphas"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.setAlphas(0, 1, putWidth, values, OFFSET); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setPixelIII() { - final int COUNT = 50000000; - - PerformanceMeter meter = createMeter("ImageData setPixel"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.setPixel(0, 0, 0xAA); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setPixelsIII$BI() { - final int COUNT = 22000000; - - int OFFSET = 1; - byte[] values = new byte[]{0x1, 0x2, 0x3, 0xF, (byte)0xFF}; - imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 8, new PaletteData(0xFF0000, 0xFF00, 0xFF)); - - PerformanceMeter meter = createMeter("ImageData setPixels(III$BI)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_setPixelsIII$II() { - final int COUNT = 20000000; - - int OFFSET = 1; - imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 32, new PaletteData(0xFF000000, 0xFF00, 0xFF)); - int[] values = new int[]{0, 0xFF, 0xFFAA, 0xFF00AA00}; - imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET); - - PerformanceMeter meter = createMeter("ImageData setPixels(III$II)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET); - } - meter.stop(); - - 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_org_eclipse_swt_graphics_ImageData((String)e.nextElement())); - } - return suite; -} -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_ConstructorIIILorg_eclipse_swt_graphics_PaletteData"); - methodNames.addElement("test_ConstructorIIILorg_eclipse_swt_graphics_PaletteDataI$B"); - methodNames.addElement("test_ConstructorLjava_io_InputStream"); - methodNames.addElement("test_ConstructorLjava_lang_String"); - methodNames.addElement("test_getAlphaII"); - methodNames.addElement("test_getAlphasIII$BI"); - methodNames.addElement("test_getPixelII"); - methodNames.addElement("test_getPixelsIII$BI"); - methodNames.addElement("test_getPixelsIII$II"); - methodNames.addElement("test_getTransparencyMask"); - methodNames.addElement("test_getTransparencyType"); - methodNames.addElement("test_scaledToII"); - methodNames.addElement("test_setAlphaIII"); - methodNames.addElement("test_setAlphasIII$BI"); - methodNames.addElement("test_setPixelIII"); - methodNames.addElement("test_setPixelsIII$BI"); - methodNames.addElement("test_setPixelsIII$II"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_ConstructorIIILorg_eclipse_swt_graphics_PaletteData")) test_ConstructorIIILorg_eclipse_swt_graphics_PaletteData(); - else if (getName().equals("test_ConstructorIIILorg_eclipse_swt_graphics_PaletteDataI$B")) test_ConstructorIIILorg_eclipse_swt_graphics_PaletteDataI$B(); - else if (getName().equals("test_ConstructorLjava_io_InputStream")) test_ConstructorLjava_io_InputStream(); - else if (getName().equals("test_ConstructorLjava_lang_String")) test_ConstructorLjava_lang_String(); - else if (getName().equals("test_getAlphaII")) test_getAlphaII(); - else if (getName().equals("test_getAlphasIII$BI")) test_getAlphasIII$BI(); - else if (getName().equals("test_getPixelII")) test_getPixelII(); - else if (getName().equals("test_getPixelsIII$BI")) test_getPixelsIII$BI(); - else if (getName().equals("test_getPixelsIII$II")) test_getPixelsIII$II(); - else if (getName().equals("test_getTransparencyMask")) test_getTransparencyMask(); - else if (getName().equals("test_getTransparencyType")) test_getTransparencyType(); - else if (getName().equals("test_scaledToII")) test_scaledToII(); - else if (getName().equals("test_setAlphaIII")) test_setAlphaIII(); - else if (getName().equals("test_setAlphasIII$BI")) test_setAlphasIII$BI(); - else if (getName().equals("test_setPixelIII")) test_setPixelIII(); - else if (getName().equals("test_setPixelsIII$BI")) test_setPixelsIII$BI(); - else if (getName().equals("test_setPixelsIII$II")) test_setPixelsIII$II(); -} -/* custom */ -ImageData imageData; -int IMAGE_DIMENSION = 10; - -void assertEquals(String message, byte expected[], byte actual[]) { - if (expected == null && actual == null) - return; - boolean equal = false; - if (expected != null && actual != null && expected.length == actual.length) { - if (expected.length == 0) - return; - equal = true; - for (int i = 0; i < expected.length; i++) { - if (expected[i] != actual[i]) { - equal = false; - } - } - } - if (!equal) { - String formatted= ""; - if (message != null) - formatted= message+" "; - fail(formatted+"expected:<"+expected+"> but was:<"+actual+">"); - } -} - -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_ImageLoader.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_ImageLoader.java deleted file mode 100644 index 5c97fb75d6..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_ImageLoader.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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.swt.tests.junit.performance; - - -import java.io.*; - -import junit.framework.*; -import junit.textui.*; - -import org.eclipse.swt.graphics.*; -import org.eclipse.test.performance.PerformanceMeter; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.graphics.ImageLoader - * - * @see org.eclipse.swt.graphics.ImageLoader - */ -public class Test_org_eclipse_swt_graphics_ImageLoader extends SwtPerformanceTestCase { - -public Test_org_eclipse_swt_graphics_ImageLoader(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -public void test_loadLjava_lang_String() { - final int COUNT = 4500; - - // j2se and j2me(cdc) can load from a filename but, j2me(cldc) throws an exception - if (isJ2ME()) return; - - ImageLoader loader = new ImageLoader(); - String fileName = getPath(imageFilenames[0] + "." + imageFormats[0]); - - PerformanceMeter meter = createMeter("ImageLoader load(String)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - loader.load(fileName); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_saveLjava_io_OutputStreamI() { - final int COUNT = 30000; - - ImageLoader loader = new ImageLoader(); - boolean jpgSupported = false; - for (int i=0; i<imageFormats.length; i++) { - if (imageFormats[i].equals("jpg")) { - jpgSupported = true; - break; - } - } - if (!jpgSupported) return; - - String filename = imageFilenames[0]; - // must use jpg since save is not implemented yet in png format - String filetype = "jpg"; - FileInputStream inStream = null; - try { - inStream = new FileInputStream(getPath(filename + "." + filetype)); - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } - loader.load(inStream); - try { - inStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - try { - for (int i = 0; i < imageFormats.length; i++) { - if (imageFormats[i].equals(filetype)) { - - PerformanceMeter meter = createMeter("ImageLoader save(OutputStream,I) - " + i); - meter.start(); - for (int j = 0; j < COUNT; j++) { - loader.save(outStream, i); - } - meter.stop(); - - disposeMeter(meter); - - break; - } - } - } finally { - try { - outStream.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} - -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_org_eclipse_swt_graphics_ImageLoader((String)e.nextElement())); - } - return suite; -} -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_loadLjava_lang_String"); - methodNames.addElement("test_saveLjava_io_OutputStreamI"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_loadLjava_lang_String")) test_loadLjava_lang_String(); - else if (getName().equals("test_saveLjava_io_OutputStreamI")) test_saveLjava_io_OutputStreamI(); -} -} diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Region.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Region.java deleted file mode 100644 index 004d35912e..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_org_eclipse_swt_graphics_Region.java +++ /dev/null @@ -1,530 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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.swt.tests.junit.performance; - -import junit.framework.*; -import junit.textui.*; - -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.test.performance.PerformanceMeter; - -/** - * Automated Performance Test Suite for class org.eclipse.swt.graphics.Region - * - * @see org.eclipse.swt.graphics.Region - */ -public class Test_org_eclipse_swt_graphics_Region extends SwtPerformanceTestCase { - -public Test_org_eclipse_swt_graphics_Region(String name) { - super(name); -} - -public static void main(String[] args) { - TestRunner.run(suite()); -} - -protected void setUp() throws Exception { - super.setUp(); - display = Display.getDefault(); -} - -public void test_createAndDisposeRegion() { - final int COUNT = 2000000; - - PerformanceMeter meter = createMeter("Region create and dispose"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - new Region().dispose(); - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_add$I() { - final int COUNT = 250000; - - Region region = new Region(display); - int[][] toAdd = new int[COUNT][]; - for (int i = 0; i < COUNT; i++) { - toAdd[i] = new int[] {i,i, i,i, i+1,i+1, i+1,i+1}; - } - - PerformanceMeter meter = createMeter("Region add($I)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.add(toAdd[i]); - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_addLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 4000; - - Region region = new Region(display); - Rectangle[] toAdd = new Rectangle[COUNT]; - for (int i = 0; i < COUNT; i++) { - toAdd[i] = new Rectangle (i, i, i+1, i+1); - } - - PerformanceMeter meter = createMeter("Region add(Rectangle)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.add(toAdd[i]); - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_addLorg_eclipse_swt_graphics_Region() { - final int COUNT = 4000; - - Region region = new Region(display); - Region[] regions = new Region[COUNT]; - for (int i = 0; i < COUNT; i++) { - Region newRegion = new Region (display); - newRegion.add(new Rectangle (i, i, i+1, i+1)); - regions[i] = newRegion; - } - - PerformanceMeter meter = createMeter("Region add(Region)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.add(regions[i]); - } - meter.stop(); - - region.dispose(); - for (int i = 0; i < COUNT; i++) { - regions[i].dispose(); - } - - disposeMeter(meter); -} - -public void test_containsII() { - final int COUNT = 25000000; - - Region region = new Region (display); - region.add(new Rectangle (30,30,30,30)); - - PerformanceMeter meter = createMeter("Region contains(II) - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.contains(50, 50); // contained - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); - - region = new Region (display); - region.add(new Rectangle (30,30,30,30)); - - meter = createMeter("Region contains(II) - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.contains(20, 20); // not contained - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_containsLorg_eclipse_swt_graphics_Point() { - final int COUNT = 20000000; - - Region region = new Region (display); - Point point = new Point (20,20); - region.add(new Rectangle (30,30,30,30)); - - PerformanceMeter meter = createMeter("Region contains(Point) - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.contains(point); // contained - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); - - region = new Region (display); - region.add(new Rectangle (30,30,30,30)); - - meter = createMeter("Region contains(Point) - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.contains(point); // not contained - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_equalsLjava_lang_Object() { - final int COUNT = 50000000; - - // Currently, Regions are only "equal" if they have the same handle. - // This is so that identical objects are properly hashed. - // We are considering adding a new method that will compare Regions for the same area. - - Rectangle rect = new Rectangle(25, 100, 200, 780); - Region region1 = new Region(display); - region1.add(rect); - - PerformanceMeter meter = createMeter("Region equals - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region1.equals(region1); // identical - } - meter.stop(); - - region1.dispose(); - - disposeMeter(meter); - - region1 = new Region(display); - region1.add(rect); - Region region2 = new Region(display); - region2.add(rect); - - meter = createMeter("Region equals - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region1.equals(region2); // unique - } - meter.stop(); - - region1.dispose(); - region2.dispose(); - - disposeMeter(meter); -} - -public void test_getBounds() { - final int COUNT = 4500000; - - Region region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - - PerformanceMeter meter = createMeter("Region getBounds"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.getBounds(); - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_intersectLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 2000000; - - Region region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - Rectangle rect = new Rectangle(0,0,5,5); - - PerformanceMeter meter = createMeter("Region intersect(Rectangle) - disjoint"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.intersect(rect); // disjoint - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); - - region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - rect = new Rectangle(20,20,5,5); - - meter = createMeter("Region intersect(Rectangle) - contained"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.intersect(rect); // intersects - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_intersectLorg_eclipse_swt_graphics_Region() { - final int COUNT = 12000000; - - Region region1 = new Region(display); - region1.add(new Rectangle(10,10,20,20)); - Region region2 = new Region(display); - region2.add(new Rectangle(0,0,5,5)); - - PerformanceMeter meter = createMeter("Region intersect(Region) - disjoint"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region1.intersect(region2); // disjoint - } - meter.stop(); - - region1.dispose(); - region2.dispose(); - - disposeMeter(meter); - - region1 = new Region(display); - region1.add(new Rectangle(10,10,20,20)); - region2 = new Region(display); - region2.add(new Rectangle(20,20,5,5)); - - meter = createMeter("Region intersect(Region) - contained"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region1.intersect(region2); // intersects - } - meter.stop(); - - region1.dispose(); - - disposeMeter(meter); -} - -public void test_intersectsIIII() { - final int COUNT = 2500000; - - Region region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - - PerformanceMeter meter = createMeter("Region intersects(IIII) - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.intersects(0,0,5,5); // disjoint - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); - - region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - - meter = createMeter("Region intersects(IIII) - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.intersects(20,20,5,5); // intersects - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_intersectsLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 2500000; - - Region region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - Rectangle rect = new Rectangle (0,0,5,5); - - PerformanceMeter meter = createMeter("Region intersects(Rectangle) - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.intersects(rect); // disjoint - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); - - region = new Region(display); - region.add(new Rectangle(10,10,20,20)); - rect = new Rectangle (20,20,5,5); - - meter = createMeter("Region intersects(Rectangle) - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.intersects(rect); // intersects - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_isEmpty() { - final int COUNT = 5000000; - - Region region = new Region (display); - - PerformanceMeter meter = createMeter("Region isEmpty - yes"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.isEmpty(); // empty - } - meter.stop(); - - disposeMeter(meter); - - region.dispose(); - region = new Region (display); - region.add(new Rectangle(10,10,10,10)); - - meter = createMeter("Region isEmpty - no"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.isEmpty(); // not empty - } - meter.stop(); - - disposeMeter(meter); -} - -public void test_subtract$I() { - final int COUNT = 250000; - - Region region = new Region(display); - region.add(new Rectangle(0,0,COUNT * 2, COUNT * 2)); - int[][] toSubtract = new int[COUNT][]; - for (int i = 0; i < COUNT; i++) { - toSubtract[i] = new int[] {i,i, i,i, i+1,i+1, i+1,i+1}; - } - - PerformanceMeter meter = createMeter("Region subtract($I)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.subtract(toSubtract[i]); - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_subtractLorg_eclipse_swt_graphics_Rectangle() { - final int COUNT = 3000; - - Region region = new Region(display); - region.add(new Rectangle(0,0,COUNT * 2, COUNT * 2)); - Rectangle[] toSubtract = new Rectangle[COUNT]; - for (int i = 0; i < COUNT; i++) { - toSubtract[i] = new Rectangle (i, i, i+1, i+1); - } - - PerformanceMeter meter = createMeter("Region subtract(Rectangle)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.subtract(toSubtract[i]); - } - meter.stop(); - - region.dispose(); - - disposeMeter(meter); -} - -public void test_subtractLorg_eclipse_swt_graphics_Region() { - final int COUNT = 3000; - - Region region = new Region(display); - region.add(new Rectangle(0, 0, COUNT*2, COUNT*2)); - Region[] regions = new Region[COUNT]; - for (int i = 0; i < COUNT; i++) { - Region newRegion = new Region (display); - newRegion.add(new Rectangle (i, i, i+1, i+1)); - regions[i] = newRegion; - } - - PerformanceMeter meter = createMeter("Region subtract(Region)"); - meter.start(); - for (int i = 0; i < COUNT; i++) { - region.subtract(regions[i]); - } - meter.stop(); - - region.dispose(); - for (int i = 0; i < COUNT; i++) { - regions[i].dispose(); - } - - 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_org_eclipse_swt_graphics_Region((String)e.nextElement())); - } - return suite; -} -public static java.util.Vector methodNames() { - java.util.Vector methodNames = new java.util.Vector(); - methodNames.addElement("test_createAndDisposeRegion"); - methodNames.addElement("test_add$I"); - methodNames.addElement("test_addLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_addLorg_eclipse_swt_graphics_Region"); - methodNames.addElement("test_containsII"); - methodNames.addElement("test_containsLorg_eclipse_swt_graphics_Point"); - methodNames.addElement("test_equalsLjava_lang_Object"); - methodNames.addElement("test_getBounds"); - methodNames.addElement("test_intersectLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_intersectLorg_eclipse_swt_graphics_Region"); - methodNames.addElement("test_intersectsIIII"); - methodNames.addElement("test_intersectsLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_isEmpty"); - methodNames.addElement("test_subtract$I"); - methodNames.addElement("test_subtractLorg_eclipse_swt_graphics_Rectangle"); - methodNames.addElement("test_subtractLorg_eclipse_swt_graphics_Region"); - return methodNames; -} -protected void runTest() throws Throwable { - if (getName().equals("test_createAndDisposeRegion")) test_createAndDisposeRegion(); - else if (getName().equals("test_add$I")) test_add$I(); - else if (getName().equals("test_addLorg_eclipse_swt_graphics_Rectangle")) test_addLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_addLorg_eclipse_swt_graphics_Region")) test_addLorg_eclipse_swt_graphics_Region(); - else if (getName().equals("test_containsII")) test_containsII(); - else if (getName().equals("test_containsLorg_eclipse_swt_graphics_Point")) test_containsLorg_eclipse_swt_graphics_Point(); - else if (getName().equals("test_equalsLjava_lang_Object")) test_equalsLjava_lang_Object(); - else if (getName().equals("test_getBounds")) test_getBounds(); - else if (getName().equals("test_intersectLorg_eclipse_swt_graphics_Rectangle")) test_intersectLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_intersectLorg_eclipse_swt_graphics_Region")) test_intersectLorg_eclipse_swt_graphics_Region(); - else if (getName().equals("test_intersectsIIII")) test_intersectsIIII(); - else if (getName().equals("test_intersectsLorg_eclipse_swt_graphics_Rectangle")) test_intersectsLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_isEmpty")) test_isEmpty(); - else if (getName().equals("test_subtract$I")) test_subtract$I(); - else if (getName().equals("test_subtractLorg_eclipse_swt_graphics_Rectangle")) test_subtractLorg_eclipse_swt_graphics_Rectangle(); - else if (getName().equals("test_subtractLorg_eclipse_swt_graphics_Region")) test_subtractLorg_eclipse_swt_graphics_Region(); -} - -/* custom */ - Display display; -} |