From 8c367b0183ac03183d7aa5e10e781c45317768bd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 14 Jul 2026 18:19:53 +0100 Subject: Convert example 02-sum to use JUnit --- examples/02-sum/hobgoblin.json5 | 2 +- examples/02-sum/output/java-junit/.gitignore | 2 ++ examples/02-sum/output/java-junit/pom.xml | 1 + .../test/java/org/zwobble/example/ShapesTests.java | 33 ++++++++++++++++++ examples/02-sum/output/java/.gitignore | 2 -- examples/02-sum/output/java/pom.xml | 40 ---------------------- .../src/main/java/org/zwobble/example/Main.java | 22 ------------ 7 files changed, 37 insertions(+), 65 deletions(-) create mode 100644 examples/02-sum/output/java-junit/.gitignore create mode 120000 examples/02-sum/output/java-junit/pom.xml create mode 100644 examples/02-sum/output/java-junit/src/test/java/org/zwobble/example/ShapesTests.java delete mode 100644 examples/02-sum/output/java/.gitignore delete mode 100644 examples/02-sum/output/java/pom.xml delete mode 100644 examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java diff --git a/examples/02-sum/hobgoblin.json5 b/examples/02-sum/hobgoblin.json5 index 12713d4..8a073ac 100644 --- a/examples/02-sum/hobgoblin.json5 +++ b/examples/02-sum/hobgoblin.json5 @@ -8,7 +8,7 @@ generators: [ { generator: "java-types", - path: "output/java/src/gen/java", + path: "output/java-junit/src/gen/java", }, { generator: "rust-types", diff --git a/examples/02-sum/output/java-junit/.gitignore b/examples/02-sum/output/java-junit/.gitignore new file mode 100644 index 0000000..ff511d4 --- /dev/null +++ b/examples/02-sum/output/java-junit/.gitignore @@ -0,0 +1,2 @@ +/src/gen/ +/target/ diff --git a/examples/02-sum/output/java-junit/pom.xml b/examples/02-sum/output/java-junit/pom.xml new file mode 120000 index 0000000..445fa65 --- /dev/null +++ b/examples/02-sum/output/java-junit/pom.xml @@ -0,0 +1 @@ +../../../templates/java-junit/pom.xml \ No newline at end of file diff --git a/examples/02-sum/output/java-junit/src/test/java/org/zwobble/example/ShapesTests.java b/examples/02-sum/output/java-junit/src/test/java/org/zwobble/example/ShapesTests.java new file mode 100644 index 0000000..2554ca5 --- /dev/null +++ b/examples/02-sum/output/java-junit/src/test/java/org/zwobble/example/ShapesTests.java @@ -0,0 +1,33 @@ +package org.zwobble.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; +import org.zwobble.example.types.shapes.Shape; +import org.zwobble.example.types.shapes.Rectangle; +import org.zwobble.example.types.shapes.Triangle; + +public class ShapesTests { + @Test + public void rectangle() { + Shape rectangle = new Rectangle(10, 25); + int area = area(rectangle); + assertEquals(area, 250); + } + + @Test + public void triangle() { + Shape triangle = new Triangle(10, 25); + int area = area(triangle); + assertEquals(area, 125); + } + + private static int area(Shape shape) { + return switch (shape) { + case Rectangle(var width, var height) -> + width * height; + + case Triangle(var width, var height) -> + width * height / 2; + }; + } +} diff --git a/examples/02-sum/output/java/.gitignore b/examples/02-sum/output/java/.gitignore deleted file mode 100644 index ff511d4..0000000 --- a/examples/02-sum/output/java/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/src/gen/ -/target/ diff --git a/examples/02-sum/output/java/pom.xml b/examples/02-sum/output/java/pom.xml deleted file mode 100644 index 0035469..0000000 --- a/examples/02-sum/output/java/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - 4.0.0 - - org.zwobble.hobgoblin.examples - example - 1.0-SNAPSHOT - - - UTF-8 - 25 - 25 - org.zwobble.example.Main - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - add-source - generate-sources - - add-source - - - - src/gen/java - - - - - - - - diff --git a/examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java b/examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java deleted file mode 100644 index 41522e6..0000000 --- a/examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.zwobble.example; - -import org.zwobble.example.types.shapes.Shape; -import org.zwobble.example.types.shapes.Rectangle; -import org.zwobble.example.types.shapes.Triangle; - -public class Main { - public static void main() { - Shape shape = createShape(); - var area = switch (shape) { - case Rectangle(var width, var height) -> - width * height; - - case Triangle(var width, var height) -> - width * height / 2; - }; - } - - private static Shape createShape() { - return new Rectangle(10, 25); - } -} -- cgit v1.2.3