[Exmmt-commit] SF.net SVN: exmmt: [117] net.sourceforge.exmmt
Status: Inactive
Brought to you by:
lgrammel
|
From: <lgr...@us...> - 2006-10-12 18:03:14
|
Revision: 117
http://svn.sourceforge.net/exmmt/?rev=117&view=rev
Author: lgrammel
Date: 2006-10-12 11:03:10 -0700 (Thu, 12 Oct 2006)
Log Message:
-----------
#1500774 scenario "shopping list"
Modified Paths:
--------------
net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java
net.sourceforge.exmmt.test/trunk/src/net/sourceforge/exmmt/renderer/HorizontalSequenceRendererTest.java
Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java
===================================================================
--- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java 2006-10-12 17:54:31 UTC (rev 116)
+++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/renderer/HorizontalSequenceRenderer.java 2006-10-12 18:03:10 UTC (rev 117)
@@ -18,6 +18,7 @@
import net.sourceforge.exmmt.graphics.IDrawArea;
import net.sourceforge.exmmt.graphics.ISizeCalculator;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
public class HorizontalSequenceRenderer extends AbstractRenderer {
@@ -30,9 +31,9 @@
for (IRenderer renderer : subRenderers) {
renderer.calculateSize(sizeCalculator);
-
+
Rectangle bounds = renderer.getSize();
-
+
height = Math.max(height, bounds.height);
width += bounds.width;
}
@@ -40,6 +41,17 @@
setSize(new Rectangle(0, 0, width, height));
}
+ @Override
+ public List<Point> getLocations(IRenderer renderer) {
+ List<Point> list = super.getLocations(renderer);
+
+ for (IRenderer subRenderer : subRenderers) {
+ list.addAll(subRenderer.getLocations(renderer));
+ }
+
+ return list;
+ }
+
public void render(IDrawArea drawArea) {
int originalX = drawArea.getX();
int originalY = drawArea.getY();
Modified: net.sourceforge.exmmt.test/trunk/src/net/sourceforge/exmmt/renderer/HorizontalSequenceRendererTest.java
===================================================================
--- net.sourceforge.exmmt.test/trunk/src/net/sourceforge/exmmt/renderer/HorizontalSequenceRendererTest.java 2006-10-12 17:54:31 UTC (rev 116)
+++ net.sourceforge.exmmt.test/trunk/src/net/sourceforge/exmmt/renderer/HorizontalSequenceRendererTest.java 2006-10-12 18:03:10 UTC (rev 117)
@@ -17,24 +17,26 @@
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.JUnit4TestAdapter;
import net.sourceforge.exmmt.graphics.IDrawArea;
import net.sourceforge.exmmt.graphics.ISizeCalculator;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.junit.Before;
import org.junit.Test;
-public class HorizontalSequenceRendererTest {
+public class HorizontalSequenceRendererTest extends AbstractRendererTest {
// @tag compability: Junit 3.8.1
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(HorizontalSequenceRendererTest.class);
}
- private HorizontalSequenceRenderer renderer;
-
private IRenderer childRenderer1;
private IRenderer childRenderer2;
@@ -62,6 +64,54 @@
verifyChildRenderers();
}
+ @Before
+ public void createChildRenderers() {
+ childRenderer1 = createMock(IRenderer.class);
+ childRenderer2 = createMock(IRenderer.class);
+
+ // @tag todo.useGenerics
+ ((HorizontalSequenceRenderer) renderer).add(childRenderer1);
+ ((HorizontalSequenceRenderer) renderer).add(childRenderer2);
+ }
+
+ @Override
+ public void getSelfLocation() {
+ expect(childRenderer1.getLocations(renderer)).andReturn(
+ new ArrayList<Point>());
+ expect(childRenderer2.getLocations(renderer)).andReturn(
+ new ArrayList<Point>());
+ replay(childRenderer1, childRenderer2);
+
+ super.getSelfLocation();
+
+ verify(childRenderer1, childRenderer2);
+ }
+
+ @Test
+ public void getSubLocations() {
+ Point point = new Point(2, 2);
+
+ List<Point> list = new ArrayList<Point>();
+ list.add(point);
+
+ expect(childRenderer1.getLocations(childRenderer1)).andReturn(list);
+ expect(childRenderer2.getLocations(childRenderer1)).andReturn(
+ new ArrayList<Point>());
+ replay(childRenderer1, childRenderer2);
+
+ List<Point> locations = renderer.getLocations(childRenderer1);
+
+ assertEquals(1, locations.size());
+ assertEquals(point, locations.get(0));
+
+ verify(childRenderer1, childRenderer2);
+ }
+
+ @Override
+ protected IRenderer createRenderer() {
+ return new HorizontalSequenceRenderer();
+ }
+
private void expectRendering(IDrawArea drawArea, IRenderer renderer,
Rectangle rectangle) {
@@ -78,12 +128,6 @@
}
@Test
- public void isRenderer() {
- assertTrue(IRenderer.class
- .isAssignableFrom(HorizontalSequenceRenderer.class));
- }
-
- @Test
public void render() {
IDrawArea drawArea = createMock(IDrawArea.class);
@@ -112,17 +156,6 @@
replay(childRenderer2);
}
- @Before
- public void setUp() {
- renderer = new HorizontalSequenceRenderer();
-
- childRenderer1 = createMock(IRenderer.class);
- childRenderer2 = createMock(IRenderer.class);
-
- renderer.add(childRenderer1);
- renderer.add(childRenderer2);
- }
-
private void verifyChildRenderers() {
verify(childRenderer1);
verify(childRenderer2);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|