diff options
Diffstat (limited to 'formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonUnionEnumTest.kt')
-rw-r--r-- | formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonUnionEnumTest.kt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonUnionEnumTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonUnionEnumTest.kt new file mode 100644 index 00000000..76634bbc --- /dev/null +++ b/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonUnionEnumTest.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2017-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.serialization.json + +import kotlinx.serialization.* +import kotlin.test.Test +import kotlin.test.assertEquals + +class JsonUnionEnumTest : JsonTestBase() { + + enum class SomeEnum { ALPHA, BETA, GAMMA } + + @Serializable + data class WithUnions(val s: String, + val e: SomeEnum = SomeEnum.ALPHA, + val i: Int = 42) + + @Test + fun testEnum() = parametrizedTest { jsonTestingMode -> + val data = WithUnions("foo", SomeEnum.BETA) + val json = default.encodeToString(WithUnions.serializer(), data, jsonTestingMode) + val restored = default.decodeFromString(WithUnions.serializer(), json, jsonTestingMode) + assertEquals(data, restored) + } +} |