[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. |