package com.windowtester.test.gef.tests.runtime.finder; import junit.framework.TestCase; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; import com.windowtester.runtime.gef.internal.finder.position.Points; import com.windowtester.runtime.gef.internal.finder.position.PositionHelper; import com.windowtester.runtime.gef.internal.finder.position.PositionFinder; import com.windowtester.runtime.gef.internal.finder.position.PositionSpec; /** * <p> * Copyright (c) 2007, Instantiations, Inc.<br> * All Rights Reserved * * @author Phil Quitslund * */ public class PositionSpecTest extends TestCase { public void testCenterDiameter() { assertEquals(15.0, PositionSpec.CenterRegion.deriveRadiusForCenter(rectangle(50, 50))); assertEquals(15.0, PositionSpec.CenterRegion.deriveRadiusForCenter(rectangle(50, 100))); assertEquals(24.0, PositionSpec.CenterRegion.deriveRadiusForCenter(rectangle(80, 100))); } public void testPointDirections() { assertTrue(PositionHelper.WEST.describesPointRelativeTo(point(0,0), point(5,0))); assertTrue(PositionHelper.EAST.describesPointRelativeTo(point(5,0), point(0,0))); assertTrue(PositionHelper.NORTH.describesPointRelativeTo(point(0,0), point(0,5))); assertTrue(PositionHelper.SOUTH.describesPointRelativeTo(point(5,10), point(5,5))); assertTrue(PositionHelper.NORTH_WEST.describesPointRelativeTo(point(0,0), point(5,5))); assertTrue(PositionHelper.NORTH_EAST.describesPointRelativeTo(point(5,0), point(0,5))); assertTrue(PositionHelper.SOUTH_WEST.describesPointRelativeTo(point(0,5), point(5,0))); assertTrue(PositionHelper.SOUTH_EAST.describesPointRelativeTo(point(5,5), point(0,0))); assertTrue(PositionHelper.CENTER.describesPointRelativeTo(point(0,0), point(0,0))); assertTrue(PositionHelper.NORTH_WEST.describesPointRelativeTo(point(0,0), point(25,25))); } public void testSpecs() { assertEquals(PositionSpec.CENTER, PositionSpec.forPointRelativeTo(point(25,25), rectangle(50,50))); assertEquals(PositionSpec.LEFT, PositionSpec.forPointRelativeTo(point(0,25), rectangle(50,50))); assertEquals(PositionSpec.RIGHT, PositionSpec.forPointRelativeTo(point(50,25), rectangle(50,50))); assertEquals(PositionSpec.TOP, PositionSpec.forPointRelativeTo(point(25,0), rectangle(50,50))); assertEquals(PositionSpec.BOTTOM, PositionSpec.forPointRelativeTo(point(25,50), rectangle(50,50))); assertEquals(PositionSpec.TOP_LEFT, PositionSpec.forPointRelativeTo(point(0,0), rectangle(50,50))); //... } public void testFinder() { assertEquals(PositionHelper.NONE, PositionFinder.findIdentifyingPosition(point(0,0), rectangle(50,50), points(point(0,2)))); assertEquals(PositionHelper.TOP, PositionFinder.findIdentifyingPosition(point(25,0), rectangle(50,50), points(point(0,0), point(50,50)))); String toMatch = "&Also delete contents under 'C:\\Eclipse-3.2.2\\workspace\\Plugins\\cate\\Test'"; String regex = "&Also delete contents .*"; System.out.println(toMatch.matches(regex)); } private Points points(Point ... points) { return Points.forArray(points); } private Point point(int x, int y) { return new Point(x,y); } private static Rectangle rectangle(int w, int h) { return rectangle(0, 0, w, h); } private static Rectangle rectangle(int x,int y, int w, int h) { return new Rectangle(x, y, w, h); } }