diff --git a/http-generator-core/src/test/java/io/avaje/http/generator/core/JsonBUtilTest.java b/http-generator-core/src/test/java/io/avaje/http/generator/core/JsonBUtilTest.java new file mode 100644 index 00000000..838e2031 --- /dev/null +++ b/http-generator-core/src/test/java/io/avaje/http/generator/core/JsonBUtilTest.java @@ -0,0 +1,46 @@ +package io.avaje.http.generator.core; + +import org.junit.jupiter.api.Test; + +import java.io.StringWriter; + +import static org.assertj.core.api.Assertions.assertThat; + +class JsonBUtilTest { + + @Test + void writeType() { + UType uType = UType.parse("my.pack.Foo"); + var sw = new StringWriter(); + JsonBUtil.writeType(uType, new Append(sw)); + + assertThat(sw.toString()).isEqualTo("Foo.class)"); + } + + @Test + void writeType_generic() { + UType uType = UType.parse("my.pack.Some"); + var sw = new StringWriter(); + JsonBUtil.writeType(uType, new Append(sw)); + + assertThat(sw.toString()).isEqualTo("Types.newParameterizedType(Some.class, String.class))"); + } + + @Test + void writeType_genericWithWildcard() { + UType uType = UType.parse("my.pack.Some"); + var sw = new StringWriter(); + JsonBUtil.writeType(uType, new Append(sw)); + + assertThat(sw.toString()).isEqualTo("Types.newParameterizedType(Some.class, String.class, Object.class))"); + } + + @Test + void writeType_genericWithMultiple() { + UType uType = UType.parse("my.pack.Some"); + var sw = new StringWriter(); + JsonBUtil.writeType(uType, new Append(sw)); + + assertThat(sw.toString()).isEqualTo("Types.newParameterizedType(Some.class, String.class, Foo.class))"); + } +}