diff options
Diffstat (limited to 'core/src/test/kotlin')
-rw-r--r-- | core/src/test/kotlin/utilities/JsonKtTest.kt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/core/src/test/kotlin/utilities/JsonKtTest.kt b/core/src/test/kotlin/utilities/JsonKtTest.kt index 301f4f5d..a1d432d9 100644 --- a/core/src/test/kotlin/utilities/JsonKtTest.kt +++ b/core/src/test/kotlin/utilities/JsonKtTest.kt @@ -1,5 +1,6 @@ package utilities +import org.jetbrains.dokka.utilities.parseJson import org.jetbrains.dokka.utilities.serializeAsCompactJson import org.jetbrains.dokka.utilities.serializeAsPrettyJson import kotlin.test.Test @@ -42,6 +43,20 @@ class JsonTest { assertEquals(expected, actual) } + @Test + fun `should keep order of Set after serialize and deserialize`() { + val testObject = SimpleTestSetDataClass( + someStringSet = setOf("Foo", "Bar", "ABC") + ) + val expected = testObject.someStringSet.toList() // ["Foo", "Bar", "ABC"] + + val jsonString = serializeAsCompactJson(testObject) + val parsedClass: SimpleTestSetDataClass = parseJson(jsonString) + val actual = parsedClass.someStringSet.toList() + + assertEquals(expected, actual) + } + /** * If the expected output was generated on Linux, but the tests are run under Windows, * the test might fail when comparing the strings due to different separators. @@ -55,3 +70,7 @@ data class SimpleTestDataClass( val someIntWithDefaultValue: Int = 42, val someDouble: Double ) + +data class SimpleTestSetDataClass( + val someStringSet: Set<String> +) |