From 275415a29dc5ca6d115b25ff84425d639e6da548 Mon Sep 17 00:00:00 2001 From: hneemann Date: Tue, 20 Feb 2018 20:03:08 +0100 Subject: [PATCH] added some test cases --- .../text/formatter/GraphicsFormatter.java | 4 +-- .../draw/graphics/text/ParserTest.java | 12 +++++++++ .../text/formatter/GraphicsFormatterTest.java | 26 +++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/test/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatterTest.java diff --git a/src/main/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatter.java b/src/main/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatter.java index afb7af17e..b273c8d4a 100644 --- a/src/main/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatter.java +++ b/src/main/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatter.java @@ -149,7 +149,7 @@ public final class GraphicsFormatter { } } - private final static class TextFragment extends Fragment { + final static class TextFragment extends Fragment { private final String text; private final Font font; @@ -287,7 +287,7 @@ public final class GraphicsFormatter { /** * Must set the size of the given fragment by calling the {@link Fragment#set(int, int, int)} method. * - * @param fragment fragment which size + * @param fragment fragment which size is requested * @param font the used font * @param str the string to measure */ diff --git a/src/test/java/de/neemann/digital/draw/graphics/text/ParserTest.java b/src/test/java/de/neemann/digital/draw/graphics/text/ParserTest.java index 0d4c94b95..f725ba9bc 100644 --- a/src/test/java/de/neemann/digital/draw/graphics/text/ParserTest.java +++ b/src/test/java/de/neemann/digital/draw/graphics/text/ParserTest.java @@ -1,9 +1,21 @@ package de.neemann.digital.draw.graphics.text; +import de.neemann.digital.draw.graphics.text.text.Simple; +import de.neemann.digital.draw.graphics.text.text.Text; import junit.framework.TestCase; public class ParserTest extends TestCase { + + public void testPlainString() throws ParseException { + Text t = new Parser("Q").parse(); + assertTrue(t instanceof Simple); + assertEquals("Q", ((Simple) t).getText()); + t = new Parser("In").parse(); + assertTrue(t instanceof Simple); + assertEquals("In", ((Simple) t).getText()); + } + public void testSimple() throws ParseException { assertEquals("Decorate{Q_{i}, OVERLINE}", new Parser("~{Q_{i}}").parse().toString()); assertEquals("Decorate{Q, OVERLINE}_{i}", new Parser("~Q_{i}").parse().toString()); diff --git a/src/test/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatterTest.java b/src/test/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatterTest.java new file mode 100644 index 000000000..ea2e2e068 --- /dev/null +++ b/src/test/java/de/neemann/digital/draw/graphics/text/formatter/GraphicsFormatterTest.java @@ -0,0 +1,26 @@ +package de.neemann.digital.draw.graphics.text.formatter; + +import de.neemann.digital.draw.graphics.text.text.Simple; +import de.neemann.digital.draw.graphics.text.text.Text; +import junit.framework.TestCase; + +import java.awt.*; + +public class GraphicsFormatterTest extends TestCase { + + /** + * Ensures that a simple string leads to the simplest text fragment + */ + public void testSimple() throws GraphicsFormatter.FormatterException { + Text t = new Simple("Q"); + GraphicsFormatter.Fragment f = GraphicsFormatter.createFragment( + (fragment, font, str) -> { + assertEquals("Q", str); + fragment.set(10, 10, 5); + }, + Font.getFont("Arial"), t); + + assertTrue(f instanceof GraphicsFormatter.TextFragment); + } + +} \ No newline at end of file