Skip to content

Commit 3c53a66

Browse files
committed
Add enum test case
1 parent 4d273db commit 3c53a66

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionEvent.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import com.google.firebase.encoders.annotations.Encodable
2828
*/
2929
// TODO(mrober): Add and populate all fields from sessions.proto
3030
// TODO(mrober): Can the firebase-encoders-processor work on Kotlin data classes?
31-
@Encodable
3231
internal data class SessionEvent(
3332
/** The type of event being reported. */
3433
val eventType: EventType,

firebase-sessions/src/test/kotlin/com/google/firebase/sessions/EncodeSessionEventTest.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,25 @@ import org.junit.runner.RunWith
2626

2727
@RunWith(AndroidJUnit4::class)
2828
class EncodeSessionEventTest {
29+
@Test
30+
fun eventType_encodesEnumAsNumber() {
31+
val dataEncoder =
32+
JsonDataEncoderBuilder()
33+
.configureWith { it.registerEncoder(EventType::class.java, NumberedEnum.ENCODER) }
34+
.build()
35+
36+
val json =
37+
dataEncoder.encode(
38+
arrayOf(
39+
EventType.SESSION_START,
40+
EventType.EVENT_TYPE_UNKNOWN,
41+
EventType.SESSION_START,
42+
EventType.SESSION_START
43+
)
44+
)
45+
46+
assertThat(json).isEqualTo("[1,0,1,1]")
47+
}
2948

3049
@Test
3150
fun sessionEvent_encodesToJson() {

0 commit comments

Comments
 (0)