summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/02-sum/hobgoblin.json52
-rw-r--r--examples/02-sum/output/java-junit/.gitignore (renamed from examples/02-sum/output/java/.gitignore)0
l---------examples/02-sum/output/java-junit/pom.xml1
-rw-r--r--examples/02-sum/output/java-junit/src/test/java/org/zwobble/example/ShapesTests.java33
-rw-r--r--examples/02-sum/output/java/pom.xml40
-rw-r--r--examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java22
6 files changed, 35 insertions, 63 deletions
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/.gitignore b/examples/02-sum/output/java-junit/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/02-sum/output/java/.gitignore
+++ b/examples/02-sum/output/java-junit/.gitignore
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/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 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.zwobble.hobgoblin.examples</groupId>
- <artifactId>example</artifactId>
- <version>1.0-SNAPSHOT</version>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>25</maven.compiler.source>
- <maven.compiler.target>25</maven.compiler.target>
- <exec.mainClass>org.zwobble.example.Main</exec.mainClass>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.6.1</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src/gen/java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
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);
- }
-}