Revision: 1034
Author: heuermh
Date: Tue Aug 3 15:03:26 2010
Log: add default paint, intersects, fullIntersects unit tests, fixed
PPickPath unit test failure
http://code.google.com/p/piccolo2d/source/detail?r=1034
Modified:
/piccolo2d.java/branches/ppath-refactoring/core/src/main/java/org/piccolo2d/nodes/PArea.java
/piccolo2d.java/branches/ppath-refactoring/core/src/main/java/org/piccolo2d/nodes/PShape.java
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/AbstractPShapeTest.java
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/PAreaTest.java
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/PPathTest.java
=======================================
---
/piccolo2d.java/branches/ppath-refactoring/core/src/main/java/org/piccolo2d/nodes/PArea.java
Tue Aug 3 13:33:18 2010
+++
/piccolo2d.java/branches/ppath-refactoring/core/src/main/java/org/piccolo2d/nodes/PArea.java
Tue Aug 3 15:03:26 2010
@@ -178,7 +178,6 @@
// todo:
// area property change events?
- // static methods
// should modifiers return this to allow chaining, e.g.
add(area0).intersect(area1)
// test serialization, may have to add custom code to serialize
areas
=======================================
---
/piccolo2d.java/branches/ppath-refactoring/core/src/main/java/org/piccolo2d/nodes/PShape.java
Tue Aug 3 13:33:18 2010
+++
/piccolo2d.java/branches/ppath-refactoring/core/src/main/java/org/piccolo2d/nodes/PShape.java
Tue Aug 3 15:03:26 2010
@@ -53,6 +53,9 @@
/** Stroke paint for this shape node, defaults to {...@link
#DEFAULT_STROKE_PAINT}. */
private Paint strokePaint = DEFAULT_STROKE_PAINT;
+ /** Default paint for this shape node, <code>Color.WHITE</code>. */
+ public static final Paint DEFAULT_PAINT = Color.WHITE;
+
/** Default stroke, a basic stroke of width <code>1.0f</code>. */
public static final Stroke DEFAULT_STROKE = new BasicStroke(1.0f);
@@ -65,6 +68,7 @@
*/
protected PShape() {
super();
+ setPaint(DEFAULT_PAINT);
}
=======================================
---
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/AbstractPShapeTest.java
Fri Jul 23 12:41:40 2010
+++
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/AbstractPShapeTest.java
Tue Aug 3 15:03:26 2010
@@ -51,4 +51,19 @@
public void testCreateShapeNode() {
assertNotNull(createShapeNode());
}
-}
+
+ public void testDefaultPaint() {
+ PShape shape = createShapeNode();
+ assertEquals(PShape.DEFAULT_PAINT, shape.getPaint());
+ }
+
+ public void testDefaultStroke() {
+ PShape shape = createShapeNode();
+ assertEquals(PShape.DEFAULT_STROKE, shape.getStroke());
+ }
+
+ public void testDefaultStrokePaint() {
+ PShape shape = createShapeNode();
+ assertEquals(PShape.DEFAULT_STROKE_PAINT, shape.getStrokePaint());
+ }
+}
=======================================
---
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/PAreaTest.java
Tue Aug 3 13:33:18 2010
+++
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/PAreaTest.java
Tue Aug 3 15:03:26 2010
@@ -93,12 +93,32 @@
assertEquals(151.0d, area.getWidth(), TOLERANCE);
assertEquals(101.0, area.getHeight(), TOLERANCE);
assertTrue(area.intersects(new Rectangle2D.Double(10.0d, 95.0d,
10.0d, 10.0d)));
+ assertTrue(area.intersects(new Rectangle2D.Double(25.0, 25.0d,
2.0d, 2.0d)));
assertTrue(area.intersects(new Rectangle2D.Double(60.0d, 95.0d,
10.0d, 10.0d)));
assertTrue(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
}
- public void testAddNoStroke() {
+ public void testAddNullPaint() {
PArea area = new PArea();
+ area.setPaint(null);
+ assertEquals(0.0d, area.getWidth(), TOLERANCE);
+ assertEquals(0.0d, area.getHeight(), TOLERANCE);
+
+ Area rect0 = new Area(new Rectangle2D.Double(0.0d, 0.0d, 100.0d,
100.0d));
+ area.add(rect0);
+ Area rect1 = new Area(new Rectangle2D.Double(50.0d, 0.0d, 100.0d,
100.0d));
+ area.add(rect1);
+
+ assertEquals(151.0d, area.getWidth(), TOLERANCE);
+ assertEquals(101.0, area.getHeight(), TOLERANCE);
+ assertTrue(area.intersects(new Rectangle2D.Double(10.0d, 95.0d,
10.0d, 10.0d)));
+ assertFalse(area.intersects(new Rectangle2D.Double(25.0, 25.0d,
2.0d, 2.0d)));
+ assertTrue(area.intersects(new Rectangle2D.Double(60.0d, 95.0d,
10.0d, 10.0d)));
+ assertTrue(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
+ }
+
+ public void testAddNullStroke() {
+ PArea area = new PArea();
area.setStroke(null);
assertEquals(0.0d, area.getWidth(), TOLERANCE);
assertEquals(0.0d, area.getHeight(), TOLERANCE);
@@ -110,10 +130,13 @@
assertEquals(150.0d, area.getWidth(), TOLERANCE);
assertEquals(100.0, area.getHeight(), TOLERANCE);
- assertFalse(area.intersects(new Rectangle2D.Double(10.0d, 95.0d,
10.0d, 10.0d)));
- assertFalse(area.intersects(new Rectangle2D.Double(60.0d, 95.0d,
10.0d, 10.0d)));
- assertFalse(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
- }
+ assertTrue(area.intersects(new Rectangle2D.Double(10.0d, 95.0d,
10.0d, 10.0d)));
+ assertTrue(area.intersects(new Rectangle2D.Double(25.0, 25.0d,
2.0d, 2.0d)));
+ assertTrue(area.intersects(new Rectangle2D.Double(60.0d, 95.0d,
10.0d, 10.0d)));
+ assertTrue(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
+ }
+
+ // todo: find stroke-only rect, add NullStrokePaint tests
public void testAddNullArgument() {
PArea area = new PArea();
@@ -143,7 +166,7 @@
assertTrue(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
}
- public void testExclusiveOrNoStroke() {
+ public void testExclusiveOrNullStroke() {
PArea area = new PArea();
area.setStroke(null);
assertEquals(0.0d, area.getWidth(), TOLERANCE);
@@ -189,7 +212,7 @@
assertFalse(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
}
- public void testIntersectNoStroke() {
+ public void testIntersectNullStroke() {
PArea area = new PArea();
area.setStroke(null);
assertEquals(0.0d, area.getWidth(), TOLERANCE);
@@ -235,7 +258,7 @@
assertFalse(area.intersects(new Rectangle2D.Double(110.0d, 95.0d,
10.0d, 10.0d)));
}
- public void testSubtractNoStroke() {
+ public void testSubtractNullStroke() {
PArea area = new PArea();
area.setStroke(null);
assertEquals(0.0d, area.getWidth(), TOLERANCE);
=======================================
---
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/PPathTest.java
Mon Aug 2 09:49:24 2010
+++
/piccolo2d.java/branches/ppath-refactoring/core/src/test/java/org/piccolo2d/nodes/PPathTest.java
Tue Aug 3 15:03:26 2010
@@ -324,4 +324,84 @@
path.closePath();
path.closePath();
}
-}
+
+ public void testIntersects() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ assertTrue(path.intersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertTrue(path.intersects(new Rectangle2D.Double(25.0d, 50.0d,
2.0d, 2.0d)));
+ assertTrue(path.intersects(new Rectangle2D.Double(49.0d, 99.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(-10.0d, -10.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(100.0d, 200.0d,
2.0d, 2.0d)));
+ }
+
+ public void testIntersectsNullStroke() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ path.setStroke(null);
+ assertTrue(path.intersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertTrue(path.intersects(new Rectangle2D.Double(25.0d, 50.0d,
2.0d, 2.0d)));
+ assertTrue(path.intersects(new Rectangle2D.Double(49.0d, 99.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(-10.0d, -10.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(100.0d, 200.0d,
2.0d, 2.0d)));
+ }
+
+ public void testIntersectsNullPaint() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ path.setPaint(null);
+ assertTrue(path.intersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(25.0d, 50.0d,
2.0d, 2.0d)));
+ assertTrue(path.intersects(new Rectangle2D.Double(49.0d, 99.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(-10.0d, -10.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(100.0d, 200.0d,
2.0d, 2.0d)));
+ }
+
+ public void testIntersectsNullPaintNullStroke() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ path.setPaint(null);
+ path.setStroke(null);
+ assertFalse(path.intersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(25.0d, 50.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(49.0d, 99.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(-10.0d, -10.0d,
2.0d, 2.0d)));
+ assertFalse(path.intersects(new Rectangle2D.Double(100.0d, 200.0d,
2.0d, 2.0d)));
+ }
+
+ public void testFullIntersects() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(25.0d,
50.0d, 2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(49.0d,
99.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(-10.0d,
-10.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(100.0d,
200.0d, 2.0d, 2.0d)));
+ }
+
+ public void testFullIntersectsNullStroke() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ path.setStroke(null);
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(25.0d,
50.0d, 2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(49.0d,
99.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(-10.0d,
-10.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(100.0d,
200.0d, 2.0d, 2.0d)));
+ }
+
+ public void testFullIntersectsNullPaint() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ path.setPaint(null);
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(25.0d,
50.0d, 2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(49.0d,
99.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(-10.0d,
-10.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(100.0d,
200.0d, 2.0d, 2.0d)));
+ }
+
+ public void testFullIntersectsNullPaintNullStroke() {
+ PPath path = PPath.createRectangle(0.0d, 0.0d, 50.0d, 100.0d);
+ path.setPaint(null);
+ path.setStroke(null);
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(0.0d, 0.0d,
2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(25.0d,
50.0d, 2.0d, 2.0d)));
+ assertTrue(path.fullIntersects(new Rectangle2D.Double(49.0d,
99.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(-10.0d,
-10.0d, 2.0d, 2.0d)));
+ assertFalse(path.fullIntersects(new Rectangle2D.Double(100.0d,
200.0d, 2.0d, 2.0d)));
+ }
+}
--
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en