Skip to content

Commit 2b1a8a7

Browse files
authored
TreeSeqMap deserialization (#666)
* TreeSeqMap deserialization * try to fix tests
1 parent 439ec8a commit 2b1a8a7

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

src/main/scala-2.13/com/fasterxml/jackson/module/scala/deser/UnsortedMapDeserializerModule.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ trait UnsortedMapDeserializerModule extends MapTypeModifierModule {
2424
(classOf[mutable.LinkedHashMap[_, _]], mutable.LinkedHashMap),
2525
(classOf[mutable.ListMap[_, _]], mutable.ListMap),
2626
(classOf[mutable.Map[_, _]], mutable.Map),
27+
(classOf[immutable.TreeSeqMap[_, _]], immutable.TreeSeqMap),
2728
(classOf[concurrent.TrieMap[_, _]], concurrent.TrieMap)
2829
))
2930

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.fasterxml.jackson.module.scala.deser
2+
3+
import com.fasterxml.jackson.core.`type`.TypeReference
4+
import com.fasterxml.jackson.module.scala.{DefaultScalaModule, JacksonModule}
5+
6+
import scala.collection.immutable
7+
8+
class Map2DeserializerTest extends DeserializerTest {
9+
10+
lazy val module: JacksonModule = DefaultScalaModule
11+
12+
"An ObjectMapper with the SortedMapDeserializerModule" should "deserialize an object into an TreeSeqMap" in {
13+
val result = deserialize(mapJson, new TypeReference[immutable.TreeSeqMap[String,String]]{})
14+
result should equal (mapScala)
15+
}
16+
17+
private val mapJson = """{ "one": "1", "two": "2" }"""
18+
private val mapScala = collection.SortedMap("one"->"1","two"->"2")
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.fasterxml.jackson.module.scala.deser
2+
3+
import com.fasterxml.jackson.core.`type`.TypeReference
4+
import com.fasterxml.jackson.module.scala.{DefaultScalaModule, JacksonModule}
5+
6+
import scala.collection.immutable
7+
8+
class Map2DeserializerTest extends DeserializerTest {
9+
10+
lazy val module: JacksonModule = DefaultScalaModule
11+
12+
"An ObjectMapper with the SortedMapDeserializerModule" should "deserialize an object into an TreeSeqMap" in {
13+
val result = deserialize(mapJson, new TypeReference[immutable.TreeSeqMap[String,String]]{})
14+
result should equal (mapScala)
15+
}
16+
17+
private val mapJson = """{ "one": "1", "two": "2" }"""
18+
private val mapScala = collection.SortedMap("one"->"1","two"->"2")
19+
}

0 commit comments

Comments
 (0)