From cc17c8884b1bc689daea44033050b68bdbeb7015 Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Sun, 4 Oct 2020 23:13:37 +0200 Subject: [PATCH] Add tests for JsonReaderExtensions --- .../api/utils/JsonReaderExtensionsTest.kt | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 api/src/test/java/com/readrops/api/utils/JsonReaderExtensionsTest.kt diff --git a/api/src/test/java/com/readrops/api/utils/JsonReaderExtensionsTest.kt b/api/src/test/java/com/readrops/api/utils/JsonReaderExtensionsTest.kt new file mode 100644 index 00000000..0bba568b --- /dev/null +++ b/api/src/test/java/com/readrops/api/utils/JsonReaderExtensionsTest.kt @@ -0,0 +1,85 @@ +package com.readrops.api.utils + +import com.squareup.moshi.JsonReader +import junit.framework.TestCase.assertEquals +import junit.framework.TestCase.assertNull +import okio.Buffer +import org.junit.Test + +class JsonReaderExtensionsTest { + + @Test + fun nextNullableStringNullCaseTest() { + val reader = JsonReader.of(Buffer().readFrom(""" + { + "field": null + } + """.trimIndent().byteInputStream())) + + reader.beginObject() + reader.nextName() + + assertNull(reader.nextNullableString()) + reader.endObject() + } + + @Test + fun nextNullableStringEmptyCaseTest() { + val reader = JsonReader.of(Buffer().readFrom(""" + { + "field": "" + } + """.trimIndent().byteInputStream())) + + reader.beginObject() + reader.nextName() + + assertNull(reader.nextNullableString()) + reader.endObject() + } + + @Test + fun nextNullableValueNormalCaseTest() { + val reader = JsonReader.of(Buffer().readFrom(""" + { + "field": "value" + } + """.trimIndent().byteInputStream())) + + reader.beginObject() + reader.nextName() + + assertEquals(reader.nextNullableString(), "value") + reader.endObject() + } + + @Test + fun nextNonEmptyStringTest() { + val reader = JsonReader.of(Buffer().readFrom(""" + { + "field": "value" + } + """.trimIndent().byteInputStream())) + + reader.beginObject() + reader.nextName() + + assertEquals(reader.nextNullableString(), "value") + reader.endObject() + } + + @Test(expected = ParseException::class) + fun nextNonEmptyStringEmptyCaseTest() { + val reader = JsonReader.of(Buffer().readFrom(""" + { + "field": "" + } + """.trimIndent().byteInputStream())) + + reader.beginObject() + reader.nextName() + + reader.nextNonEmptyString() + } + +} \ No newline at end of file