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

Reply via email to