blob: a832ecca4a490bf592d21f660147f3e6cdb837d3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-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.test.performance.PerformanceMeter;
/**
* Automated Performance Test Suite for class org.eclipse.swt.graphics.Rectangle
*
* @see org.eclipse.swt.graphics.Rectangle
*/
public class Test_org_eclipse_swt_graphics_Rectangle extends SwtPerformanceTestCase {
public Test_org_eclipse_swt_graphics_Rectangle(String name) {
super(name);
}
public static void main(String[] args) {
TestRunner.run(suite());
}
public void test_ConstructorIIII() {
final int COUNT = 40000000;
PerformanceMeter meter = createMeter("Rectangle constr.");
meter.start();
for (int i = 0; i < COUNT; i++) {
new Rectangle(500000, 700000, 200000, 100000);
}
meter.stop();
disposeMeter(meter);
}
/**
* Destructively replaces the x, y, width and height values
* in the receiver with ones which represent the union of the
* rectangles specified by the receiver and the given rectangle.
*
* @exception IllegalArgumentException <ul>
* <li>ERROR_NULL_ARGUMENT - if the argument is null</li>
* </ul>
*/
public void test_addLorg_eclipse_swt_graphics_Rectangle() {
final int COUNT = 60000000;
Rectangle r1 = new Rectangle(1, 2, 3, 4);
Rectangle r2 = new Rectangle(3, 3, 2, 2);
PerformanceMeter meter = createMeter("Rectangle add");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.add(r2);
}
meter.stop();
disposeMeter(meter);
}
/**
* Returns <code>true</code> if the point specified by the
* arguments is inside the area specified by the receiver.
*/
public void test_containsII() {
final int COUNT = 60000000;
Rectangle r = new Rectangle(1, 2, 3, 4);
PerformanceMeter meter = createMeter("Rectangle contains(II) - yes");
meter.start();
for (int i = 0; i < COUNT; i++) {
r.contains(2, 3); // does contain
}
meter.stop();
disposeMeter(meter);
meter = createMeter("Rectangle contains(II) - no");
meter.start();
for (int i = 0; i < COUNT; i++) {
r.contains(9, 12); // does not contain
}
meter.stop();
disposeMeter(meter);
}
/**
* Returns <code>true</code> if the given point is inside the
* area specified by the receiver.
*
* @exception IllegalArgumentException <ul>
* <li>ERROR_NULL_ARGUMENT - if the argument is null</li>
* </ul>
*/
public void test_containsLorg_eclipse_swt_graphics_Point() {
final int COUNT = 60000000;
Rectangle rect = new Rectangle(1, 2, 3, 4);
Point p1 = new Point(2, 3);
Point p2 = new Point(9, 10);
PerformanceMeter meter = createMeter("Rectangle contains(Point) - yes");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.contains(p1); // does contain
}
meter.stop();
disposeMeter(meter);
meter = createMeter("Rectangle contains(Point) - no");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.contains(p2); // does not contain
}
meter.stop();
disposeMeter(meter);
}
public void test_equalsLjava_lang_Object() {
final int COUNT = 60000000;
Rectangle r1 = new Rectangle(5, 4, 3, 2);
Rectangle r2 = new Rectangle(5, 4, 3, 2);
PerformanceMeter meter = createMeter("Rectangle equals - yes");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.equals(r2); // equal
}
meter.stop();
disposeMeter(meter);
r2 = new Rectangle (2, 3, 4, 5);
meter = createMeter("Rectangle equals - no");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.equals(r2); // not equal
}
meter.stop();
disposeMeter(meter);
}
public void test_hashCode() {
final int COUNT = 400000000;
Rectangle rect = new Rectangle(5, 4, 3, 2);
PerformanceMeter meter = createMeter("Rectangle hashCode");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.hashCode();
}
meter.stop();
disposeMeter(meter);
}
public void test_intersectLorg_eclipse_swt_graphics_Rectangle() {
final int COUNT = 50000000;
Rectangle r1 = new Rectangle(10, 10, 50, 50);
Rectangle r2 = new Rectangle(20, 20, 20, 20);
PerformanceMeter meter = createMeter("Rectangle intersect - contained");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.intersect(r2); // intersect
}
meter.stop();
disposeMeter(meter);
r2 = new Rectangle(0, 0, 5, 5);
meter = createMeter("Rectangle intersect - disjoint");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.intersect(r2); // disjoint
}
meter.stop();
disposeMeter(meter);
}
public void test_intersectionLorg_eclipse_swt_graphics_Rectangle() {
final int COUNT = 25000000;
Rectangle r1 = new Rectangle(10, 10, 50, 50);
Rectangle r2 = new Rectangle(20, 20, 20, 20);
PerformanceMeter meter = createMeter("Rectangle intersection - contained");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.intersection(r2); // intersect
}
meter.stop();
disposeMeter(meter);
r2 = new Rectangle(0, 0, 5, 5);
meter = createMeter("Rectangle intersection - disjoint");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.intersection(r2); // disjoint
}
meter.stop();
disposeMeter(meter);
}
public void test_intersectsIIII() {
final int COUNT = 60000000;
Rectangle rect = new Rectangle(10, 10, 50, 50);
PerformanceMeter meter = createMeter("Rectangle intersects(IIII) - yes");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.intersects(20, 20, 20, 20); // intersect
}
meter.stop();
disposeMeter(meter);
meter = createMeter("Rectangle intersects(IIII) - no");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.intersects(0, 0, 5, 5); // disjoint
}
meter.stop();
disposeMeter(meter);
}
public void test_intersectsLorg_eclipse_swt_graphics_Rectangle() {
final int COUNT = 40000000;
Rectangle r1 = new Rectangle(10, 10, 50, 50);
Rectangle r2 = new Rectangle(20, 20, 20, 20);
PerformanceMeter meter = createMeter("Rectangle intersects(Rectangle) - yes");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.intersects(r2); // intersect
}
meter.stop();
disposeMeter(meter);
r2 = new Rectangle(0, 0, 5, 5);
meter = createMeter("Rectangle intersects(Rectangle) - no");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.intersects(r2); // disjoint
}
meter.stop();
disposeMeter(meter);
}
public void test_isEmpty() {
final int COUNT = 500000000;
Rectangle rect = new Rectangle (10, 10, 0, 0);
PerformanceMeter meter = createMeter("Rectangle isEmpty - yes");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.isEmpty(); // empty
}
meter.stop();
disposeMeter(meter);
rect = new Rectangle (10, 10, 10, 10);
meter = createMeter("Rectangle isEmpty - no");
meter.start();
for (int i = 0; i < COUNT; i++) {
rect.isEmpty(); // not empty
}
meter.stop();
disposeMeter(meter);
}
public void test_unionLorg_eclipse_swt_graphics_Rectangle() {
final int COUNT = 30000000;
Rectangle r1 = new Rectangle(10, 10, 50, 50);
Rectangle r2 = new Rectangle(20, 20, 20, 20);
PerformanceMeter meter = createMeter("Rectangle union - contained");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.union(r2);
}
meter.stop();
disposeMeter(meter);
r2 = new Rectangle(0, 0, 5, 5);
meter = createMeter("Rectangle union - disjoint");
meter.start();
for (int i = 0; i < COUNT; i++) {
r1.union(r2); // disjoint
}
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_Rectangle((String)e.nextElement()));
}
return suite;
}
public static java.util.Vector methodNames() {
java.util.Vector methodNames = new java.util.Vector();
methodNames.addElement("test_ConstructorIIII");
methodNames.addElement("test_addLorg_eclipse_swt_graphics_Rectangle");
methodNames.addElement("test_containsII");
methodNames.addElement("test_containsLorg_eclipse_swt_graphics_Point");
methodNames.addElement("test_equalsLjava_lang_Object");
methodNames.addElement("test_hashCode");
methodNames.addElement("test_intersectLorg_eclipse_swt_graphics_Rectangle");
methodNames.addElement("test_intersectionLorg_eclipse_swt_graphics_Rectangle");
methodNames.addElement("test_intersectsIIII");
methodNames.addElement("test_intersectsLorg_eclipse_swt_graphics_Rectangle");
methodNames.addElement("test_isEmpty");
methodNames.addElement("test_unionLorg_eclipse_swt_graphics_Rectangle");
return methodNames;
}
protected void runTest() throws Throwable {
if (getName().equals("test_ConstructorIIII")) test_ConstructorIIII();
else if (getName().equals("test_addLorg_eclipse_swt_graphics_Rectangle")) test_addLorg_eclipse_swt_graphics_Rectangle();
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_hashCode")) test_hashCode();
else if (getName().equals("test_intersectLorg_eclipse_swt_graphics_Rectangle")) test_intersectLorg_eclipse_swt_graphics_Rectangle();
else if (getName().equals("test_intersectionLorg_eclipse_swt_graphics_Rectangle")) test_intersectionLorg_eclipse_swt_graphics_Rectangle();
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_unionLorg_eclipse_swt_graphics_Rectangle")) test_unionLorg_eclipse_swt_graphics_Rectangle();
}
}