Skip to content

Commit 01337bb

Browse files
committed
polish up tests
1 parent 84c80eb commit 01337bb

File tree

3 files changed

+12
-18
lines changed

3 files changed

+12
-18
lines changed

features/dd-sdk-android-flags/src/main/kotlin/com/datadog/android/flags/internal/JsonExtensions.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ internal fun Map<String, Any?>.toJSONObject(): JSONObject {
108108
*
109109
* @return A JSONArray with all nested structures converted
110110
*/
111-
internal fun List<Any?>.toJSONArray(): JSONArray {
111+
internal fun List<*>.toJSONArray(): JSONArray {
112112
val jsonArray = JSONArray()
113113

114114
forEach { value ->
@@ -136,14 +136,10 @@ private fun convertToJsonValue(value: Any?): Any = when (value) {
136136
null -> JSONObject.NULL
137137
is Map<*, *> -> {
138138
// Convert keys to String (supports non-String keys via toString())
139-
@Suppress("UNCHECKED_CAST")
140139
val stringMap = value.entries.associate { (k, v) -> k.toString() to v }
141140
stringMap.toJSONObject()
142141
}
143-
is List<*> -> {
144-
@Suppress("UNCHECKED_CAST")
145-
(value as List<Any?>).toJSONArray()
146-
}
142+
is List<*> -> value.toJSONArray()
147143
else -> value // Primitives: String, Int, Long, Double, Boolean
148144
}
149145

features/dd-sdk-android-flags/src/test/kotlin/com/datadog/android/flags/internal/DatadogFlagsClientTest.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -496,18 +496,21 @@ internal class DatadogFlagsClientTest {
496496

497497
// endregion
498498

499+
// region resolveStructureValue()
500+
499501
@Test
500-
fun `M return flag value W resolveStructureValue() { flag exists with valid JSON string }`(forge: Forge) {
502+
fun `M return flag value W resolveStructureValue() { flag exists with valid JSON string }`(
503+
forge: Forge,
504+
@StringForgery fakeFlagKey: String
505+
) {
501506
// Given
502507
val fakeFlagKey = forge.anAlphabeticalString()
503508
val fakeDefaultValue = JSONObject().apply {
504509
put(fakeJsonKey, forge.anAlphabeticalString())
505510
}
506-
val fakeKey1Value = forge.anAlphabeticalString()
507-
val fakeKey2Value = forge.anInt()
508511
val fakeFlagValue = JSONObject().apply {
509-
put("key1", fakeKey1Value)
510-
put("key2", fakeKey2Value)
512+
put("key1", forge.anAlphabeticalString())
513+
put("key2", forge.anInt())
511514
}
512515
val fakeFlag = forge.getForgery<PrecomputedFlag>().copy(
513516
variationType = VariationType.OBJECT.value,

features/dd-sdk-android-flags/src/test/kotlin/com/datadog/android/flags/internal/JsonExtensionsTest.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ internal class JsonExtensionsTest {
106106
assertThat(result["items"]).isInstanceOf(List::class.java)
107107
val items = result["items"] as List<*>
108108
assertThat(items).hasSize(3)
109-
assertThat(items[0]).isEqualTo(fakeItem1)
110-
assertThat(items[1]).isEqualTo(fakeItem2)
111-
assertThat(items[2]).isEqualTo(fakeItem3)
109+
assertThat(items).isEqualTo(listOf(fakeItem1, fakeItem2, fakeItem3))
112110
}
113111

114112
@Test
@@ -186,10 +184,7 @@ internal class JsonExtensionsTest {
186184

187185
// Then
188186
assertThat(result).hasSize(4)
189-
assertThat(result[0]).isEqualTo(fakeString)
190-
assertThat(result[1]).isEqualTo(fakeInt)
191-
assertThat(result[2]).isEqualTo(fakeBool)
192-
assertThat(result[3]).isEqualTo(fakeDouble)
187+
assertThat(result).isEqualTo(listOf(fakeString, fakeInt, fakeBool, fakeDouble))
193188
}
194189

195190
@Test

0 commit comments

Comments
 (0)