diff --git a/app/build.gradle b/app/build.gradle index cee711d20..927f2e50d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,7 +127,7 @@ configurations.all { } dependencies { - implementation "io.github.wulkanowy:sdk:0.21.1" + implementation "io.github.wulkanowy:sdk:7577fc9" coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.10' diff --git a/app/src/main/java/io/github/wulkanowy/data/db/adapters/PairAdapterFactory.kt b/app/src/main/java/io/github/wulkanowy/data/db/adapters/PairAdapterFactory.kt index 60ae37c9d..4a9b168dd 100644 --- a/app/src/main/java/io/github/wulkanowy/data/db/adapters/PairAdapterFactory.kt +++ b/app/src/main/java/io/github/wulkanowy/data/db/adapters/PairAdapterFactory.kt @@ -56,11 +56,11 @@ object PairAdapterFactory : JsonAdapter.Factory { private fun deserializeGsonPair(reader: JsonReader): List>? { val list = listAdapter.fromJson(reader) ?: return null - require(list.size == 2 || list.isEmpty()) { - "pair with more or less than two elements: $list" - } - return list.map { + require(it.size == 2) { + "pair with more or less than two elements: $list" + } + it["first"].orEmpty() to it["second"].orEmpty() } } diff --git a/app/src/test/java/io/github/wulkanowy/data/db/ConvertersTest.kt b/app/src/test/java/io/github/wulkanowy/data/db/ConvertersTest.kt index 50741b7ab..3b0d7c841 100644 --- a/app/src/test/java/io/github/wulkanowy/data/db/ConvertersTest.kt +++ b/app/src/test/java/io/github/wulkanowy/data/db/ConvertersTest.kt @@ -7,19 +7,24 @@ class ConvertersTest { @Test fun stringPairListToJson() { + assertEquals(Converters().stringPairListToJson(listOf("aaa" to "bbb", "ccc" to "ddd", "eee" to "fff")), "[{\"first\":\"aaa\",\"second\":\"bbb\"},{\"first\":\"ccc\",\"second\":\"ddd\"},{\"first\":\"eee\",\"second\":\"fff\"}]") assertEquals(Converters().stringPairListToJson(listOf("aaa" to "bbb", "ccc" to "ddd")), "[{\"first\":\"aaa\",\"second\":\"bbb\"},{\"first\":\"ccc\",\"second\":\"ddd\"}]") + assertEquals(Converters().stringPairListToJson(listOf("aaa" to "bbb")), "[{\"first\":\"aaa\",\"second\":\"bbb\"}]") assertEquals(Converters().stringPairListToJson(listOf()), "[]") } @Test fun jsonToStringPairList() { + assertEquals(Converters().jsonToStringPairList("[{\"first\":\"aaa\",\"second\":\"bbb\"},{\"first\":\"ccc\",\"second\":\"ddd\"},{\"first\":\"eee\",\"second\":\"fff\"}]"), listOf("aaa" to "bbb", "ccc" to "ddd", "eee" to "fff")) assertEquals(Converters().jsonToStringPairList("[{\"first\":\"aaa\",\"second\":\"bbb\"},{\"first\":\"ccc\",\"second\":\"ddd\"}]"), listOf("aaa" to "bbb", "ccc" to "ddd")) + assertEquals(Converters().jsonToStringPairList("[{\"first\":\"aaa\",\"second\":\"bbb\"}]"), listOf("aaa" to "bbb")) assertEquals(Converters().jsonToStringPairList("[]"), listOf>()) } @Test fun jsonToStringPairList_0210() { assertEquals(Converters().jsonToStringPairList("{\"aaa\":\"bbb\",\"ccc\":\"ddd\"}"), listOf("aaa" to "bbb", "ccc" to "ddd")) + assertEquals(Converters().jsonToStringPairList("{\"aaa\":\"bbb\"}"), listOf("aaa" to "bbb")) assertEquals(Converters().jsonToStringPairList("{}"), listOf>()) } }