diff options
author | aSemy <897017+aSemy@users.noreply.github.com> | 2023-05-09 17:30:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-09 17:30:56 +0200 |
commit | 9157bf81283ad3d1b4313873bc81150af2f69a4f (patch) | |
tree | d688dcc59260969affdd8bfd9cb5e5a067968b1a /formats/json-tests | |
parent | ef67bcef0e5ee8ef0d19a3d9dcbb08e82a92c511 (diff) | |
download | kotlinx.serialization-9157bf81283ad3d1b4313873bc81150af2f69a4f.tar.gz |
Implement addAll functions for JsonArrayBuilder (#2156)
Fixes #2127
Diffstat (limited to 'formats/json-tests')
-rw-r--r-- | formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonBuildersTest.kt | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonBuildersTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonBuildersTest.kt index 9e4e5722..c2dab089 100644 --- a/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonBuildersTest.kt +++ b/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonBuildersTest.kt @@ -43,4 +43,105 @@ class JsonBuildersTest { } assertEquals("""[true,[1,2,3,4,5,6,7,8,9,10],null,{"stringKey":"stringValue"}]""", json.toString()) } + + @Test + fun testBuildJsonArrayAddAll() { + assertEquals( + """[1,2,3,4,5,null]""", + buildJsonArray { + assertTrue { addAll(listOf(1, 2, 3, 4, 5, null)) } + }.toString() + ) + + assertEquals( + """["a","b","c",null]""", + buildJsonArray { + assertTrue { addAll(listOf("a", "b", "c", null)) } + }.toString() + ) + + assertEquals( + """[true,false,null]""", + buildJsonArray { + assertTrue { addAll(listOf(true, false, null)) } + }.toString() + ) + + assertEquals( + """[2,"b",true,null]""", + buildJsonArray { + assertTrue { + addAll( + listOf( + JsonPrimitive(2), + JsonPrimitive("b"), + JsonPrimitive(true), + JsonNull, + ) + ) + } + }.toString() + ) + + assertEquals( + """[{},{},{},null]""", + buildJsonArray { + assertTrue { + addAll( + listOf( + JsonObject(emptyMap()), + JsonObject(emptyMap()), + JsonObject(emptyMap()), + JsonNull + ) + ) + } + }.toString() + ) + + assertEquals( + """[[],[],[],null]""", + buildJsonArray { + assertTrue { + addAll( + listOf( + JsonArray(emptyList()), + JsonArray(emptyList()), + JsonArray(emptyList()), + JsonNull + ) + ) + } + }.toString() + ) + + assertEquals( + """[null,null]""", + buildJsonArray { + assertTrue { + addAll(listOf(JsonNull, JsonNull)) + } + }.toString() + ) + } + + @Test + fun testBuildJsonArrayAddAllNotModified() { + assertEquals( + """[]""", + buildJsonArray { + // add collections + assertFalse { addAll(listOf<Number>()) } + assertFalse { addAll(listOf<String>()) } + assertFalse { addAll(listOf<Boolean>()) } + + // add json elements + assertFalse { addAll(listOf()) } + assertFalse { addAll(listOf<JsonNull>()) } + assertFalse { addAll(listOf<JsonObject>()) } + assertFalse { addAll(listOf<JsonArray>()) } + assertFalse { addAll(listOf<JsonPrimitive>()) } + }.toString() + ) + } } |