[serde-*] Make data readers and writers AutoCloseable
This commit is contained in:
@@ -12,7 +12,7 @@ public interface JsonReaderTest {
|
||||
@Test
|
||||
@SneakyThrows
|
||||
default void complexJsonReadTest() {
|
||||
var reader = createJsonReader("""
|
||||
String text = """
|
||||
{
|
||||
"first": [
|
||||
[ 1 ]
|
||||
@@ -21,53 +21,55 @@ public interface JsonReaderTest {
|
||||
"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();
|
||||
try (var reader = createJsonReader(text)) {
|
||||
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