[serde-gson] Support for Gson readers and writers
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
plugins {
|
||||
java
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.toVersion(libs.versions.java.test.get())
|
||||
targetCompatibility = JavaVersion.toVersion(libs.versions.java.test.get())
|
||||
}
|
||||
3
test-utils/generic/build.gradle.kts
Normal file
3
test-utils/generic/build.gradle.kts
Normal file
@@ -0,0 +1,3 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.test-utils")
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package de.siphalor.tweed5.testutils;
|
||||
package de.siphalor.tweed5.testutils.generic;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
3
test-utils/serde-json/build.gradle.kts
Normal file
3
test-utils/serde-json/build.gradle.kts
Normal file
@@ -0,0 +1,3 @@
|
||||
plugins {
|
||||
id("de.siphalor.tweed5.test-utils")
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package de.siphalor.tweed5.testutils.serde.json;
|
||||
|
||||
import de.siphalor.tweed5.dataapi.api.TweedDataReader;
|
||||
import lombok.SneakyThrows;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public interface JsonReaderTest {
|
||||
TweedDataReader createJsonReader(String text);
|
||||
|
||||
@Test
|
||||
@SneakyThrows
|
||||
default void complexJsonReadTest() {
|
||||
var reader = createJsonReader("""
|
||||
{
|
||||
"first": [
|
||||
[ 1 ]
|
||||
],
|
||||
"second": {
|
||||
"test": "Hello World!"
|
||||
}
|
||||
}
|
||||
""");
|
||||
|
||||
var token = reader.peekToken();
|
||||
assertThat(token.isMapStart()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapStart()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryKey()).isTrue();
|
||||
assertThat(token.canReadAsString()).isTrue();
|
||||
assertThat(token.readAsString()).isEqualTo("first");
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryValue()).isTrue();
|
||||
assertThat(token.isListStart()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryValue()).isFalse();
|
||||
assertThat(token.isListValue()).isTrue();
|
||||
assertThat(token.isListStart()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isListValue()).isTrue();
|
||||
assertThat(token.canReadAsInt()).isTrue();
|
||||
assertThat(token.readAsInt()).isEqualTo(1);
|
||||
token = reader.readToken();
|
||||
assertThat(token.isListValue()).isTrue();
|
||||
assertThat(token.isListEnd()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isListValue()).isFalse();
|
||||
assertThat(token.isMapEntryValue()).isTrue();
|
||||
assertThat(token.isListEnd()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryKey()).isTrue();
|
||||
assertThat(token.canReadAsString()).isTrue();
|
||||
assertThat(token.readAsString()).isEqualTo("second");
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryValue()).isTrue();
|
||||
assertThat(token.isMapStart()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryValue()).isFalse();
|
||||
assertThat(token.isMapEntryKey()).isTrue();
|
||||
assertThat(token.canReadAsString()).isTrue();
|
||||
assertThat(token.readAsString()).isEqualTo("test");
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEntryValue()).isTrue();
|
||||
assertThat(token.canReadAsString()).isTrue();
|
||||
assertThat(token.readAsString()).isEqualTo("Hello World!");
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEnd()).isTrue();
|
||||
token = reader.readToken();
|
||||
assertThat(token.isMapEnd()).isTrue();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user