Skip to content

Commit

Permalink
Add unit tests for JsonBUtil.writeType()
Browse files Browse the repository at this point in the history
  • Loading branch information
rbygrave committed Jan 12, 2025
1 parent 7f8d4fc commit 519f13f
Showing 1 changed file with 46 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -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<java.lang.String>");
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<java.lang.String, ?>");
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<java.lang.String, my.other.Foo>");
var sw = new StringWriter();
JsonBUtil.writeType(uType, new Append(sw));

assertThat(sw.toString()).isEqualTo("Types.newParameterizedType(Some.class, String.class, Foo.class))");
}
}

0 comments on commit 519f13f

Please sign in to comment.