Skip to content

Commit

Permalink
Test for identifier painting.
Browse files Browse the repository at this point in the history
  • Loading branch information
Weltraumschaf committed May 29, 2012
1 parent 6845f97 commit 913af86
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ public void paint(final Graphics2D graphic) {
adjust(graphic);
}

final Point pos = getPosition();
final Point pos = getPosition();
final Dimension size = getSize();
final int vCenter = getCenterY();
final int hPaddingp = (size.width - boxSize.width) / 2;
final int vPadding = (size.height - boxSize.height) / 2;
final int vCenter = getCenterY();
final int hPaddingp = (size.width - boxSize.width) / 2;
final int vPadding = (size.height - boxSize.height) / 2;
final Point rectanglePosition = new Point(pos.x + hPaddingp, pos.y + vPadding);
final Point inLineStart = new Point(pos.x, vCenter);
final Point inLineEnd = new Point(pos.x + hPaddingp, vCenter);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@
package de.weltraumschaf.ebnf.gfx.shapes;

import de.weltraumschaf.ebnf.gfx.StringPainter;
import de.weltraumschaf.ebnf.gfx.Strokes;
import static de.weltraumschaf.ebnf.gfx.shapes.ShapeFactory.identifier;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.Graphics2D;
import static org.junit.Assert.assertEquals;
import org.junit.Ignore;
import org.junit.Test;
import static org.mockito.Mockito.*;

/**
*
Expand Down Expand Up @@ -45,8 +49,9 @@ void setCalculatedTextSize(final Dimension calcTextSize) {
}

@Test public void font() {
final AbstractTextShape ident = identifier("foobar");
assertEquals("foobar", ident.getText());
final String value = "foobar";
final AbstractTextShape ident = identifier(value);
assertEquals(value, ident.getText());
assertEquals(StringPainter.SANSERIFIT, ident.getFont());
}

Expand All @@ -67,8 +72,28 @@ void setCalculatedTextSize(final Dimension calcTextSize) {
assertEquals(new Dimension(124, 31), ident.getSize());
}

@Ignore("Not ready yet.")
// @Ignore("Not ready yet.")
@Test public void paint() {
final String value = "foobar";
final FontMetrics metrics = mock(FontMetrics.class);
when(metrics.stringWidth(value)).thenReturn(80);
when(metrics.getAscent()).thenReturn(12);
when(metrics.getDescent()).thenReturn(4);

final Graphics2D graphics = mock(Graphics2D.class);
when(graphics.getFontMetrics()).thenReturn(metrics);

final IdentifierStub ident = new IdentifierStub(value);
ident.setCalculatedTextSize(new Dimension(100, 16));
ident.paint(graphics);

verify(graphics, times(1)).setColor(Color.BLACK);
verify(graphics, times(1)).setStroke(Strokes.createForBox());
verify(graphics, times(1)).drawRect(7, 7, 110, 16);
verify(graphics, times(1)).setStroke(Strokes.createForRail());
verify(graphics, times(1)).drawLine(0, 15, 7, 15);
verify(graphics, times(1)).drawLine(117, 15, 124, 15);
verify(graphics, times(1)).setFont(StringPainter.SANSERIFIT);
verify(graphics, times(1)).drawString(value, 22, 19);
}
}

0 comments on commit 913af86

Please sign in to comment.