Skip to content

Commit 2bb2f07

Browse files
committed
Add testing
1 parent 5e88cc2 commit 2bb2f07

File tree

4 files changed

+21
-6
lines changed

4 files changed

+21
-6
lines changed

firebase-common/src/androidMain/kotlin/dev/gitlive/firebase/_decoders.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
package dev.gitlive.firebase
66

77
import kotlinx.serialization.encoding.CompositeDecoder
8-
import kotlinx.serialization.KSerializer
9-
import kotlinx.serialization.SerializationException
108
import kotlinx.serialization.descriptors.PolymorphicKind
119
import kotlinx.serialization.descriptors.SerialDescriptor
1210
import kotlinx.serialization.descriptors.StructureKind

firebase-common/src/commonTest/kotlin/dev/gitlive/firebase/EncodersTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
package dev.gitlive.firebase
66

7+
import kotlinx.serialization.SerialName
78
import kotlinx.serialization.Serializable
89
import kotlinx.serialization.builtins.ListSerializer
910
import kotlin.test.Test
@@ -17,6 +18,13 @@ expect fun nativeAssertEquals(expected: Any?, actual: Any?): Unit
1718
@Serializable
1819
data class TestData(val map: Map<String, String>, val bool: Boolean = false, val nullableBool: Boolean? = null)
1920

21+
@Serializable
22+
sealed class TestSealed {
23+
@Serializable
24+
@SerialName("child")
25+
data class ChildClass(val map: Map<String, String>, val bool: Boolean = false): TestSealed()
26+
}
27+
2028
class EncodersTest {
2129
@Test
2230
fun encodeMap() {
@@ -37,6 +45,13 @@ class EncodersTest {
3745
nativeAssertEquals(nativeMapOf("map" to nativeMapOf("key" to "value"), "bool" to true, "nullableBool" to true), encoded)
3846
}
3947

48+
@Test
49+
fun encodeSealedClass() {
50+
val encoded = encode<TestSealed>(TestSealed.serializer(), TestSealed.ChildClass(mapOf("key" to "value"), true), shouldEncodeElementDefault = true)
51+
println(encoded.toString())
52+
nativeAssertEquals(nativeMapOf("type" to "child", "value" to nativeMapOf("map" to nativeMapOf("key" to "value"), "bool" to true)), encoded)
53+
}
54+
4055
@Test
4156
fun decodeObject() {
4257
val decoded = decode<TestData>(TestData.serializer(), nativeMapOf("map" to nativeMapOf("key" to "value")))
@@ -54,4 +69,10 @@ class EncodersTest {
5469
val decoded = decode(TestData.serializer(), nativeMapOf("map" to mapOf("key" to "value"), "nullableBool" to null))
5570
assertNull(decoded.nullableBool)
5671
}
72+
73+
@Test
74+
fun decodeSealedClass() {
75+
val decoded = decode(TestSealed.serializer(), nativeMapOf("type" to "child", "value" to nativeMapOf("map" to nativeMapOf("key" to "value"), "bool" to true)))
76+
assertEquals(TestSealed.ChildClass(mapOf("key" to "value"), true), decoded)
77+
}
5778
}

firebase-common/src/iosMain/kotlin/dev/gitlive/firebase/_decoders.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
package dev.gitlive.firebase
66

77
import kotlinx.serialization.encoding.CompositeDecoder
8-
import kotlinx.serialization.KSerializer
9-
import kotlinx.serialization.SerializationException
108
import kotlinx.serialization.descriptors.PolymorphicKind
119
import kotlinx.serialization.descriptors.SerialDescriptor
1210
import kotlinx.serialization.descriptors.StructureKind

firebase-common/src/jsMain/kotlin/dev/gitlive/firebase/_decoders.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
package dev.gitlive.firebase
66

77
import kotlinx.serialization.encoding.CompositeDecoder
8-
import kotlinx.serialization.KSerializer
9-
import kotlinx.serialization.SerializationException
108
import kotlinx.serialization.descriptors.PolymorphicKind
119
import kotlinx.serialization.descriptors.SerialDescriptor
1210
import kotlinx.serialization.descriptors.StructureKind

0 commit comments

Comments
 (0)