Skip to content

Commit 8f99fbc

Browse files
committed
Update CaseClassSerializerTest.scala
1 parent ac0d8a4 commit 8f99fbc

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/test/scala/tools/jackson/module/scala/ser/CaseClassSerializerTest.scala

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ package tools.jackson.module.scala.ser
22

33
import com.fasterxml.jackson.annotation.JsonProperty.Access
44
import com.fasterxml.jackson.annotation._
5-
import tools.jackson.databind.{MapperFeature, ObjectMapper, PropertyNamingStrategies}
5+
import tools.jackson.databind.cfg.MutableConfigOverride
6+
import tools.jackson.databind.{ObjectMapper, PropertyNamingStrategies}
67
import tools.jackson.module.scala.DefaultScalaModule
78

89
import scala.beans.BeanProperty
@@ -63,8 +64,14 @@ case class PrivateDefaultFields(
6364
case class ClassWithUnitField(field: Unit, intField: Int)
6465
case class ClassWithOnlyUnitField(field: Unit)
6566

67+
object CaseClassSerializerTest {
68+
case class BigDecimalHolder(bigDecimal: BigDecimal)
69+
}
70+
6671
class CaseClassSerializerTest extends SerializerTest {
6772

73+
import CaseClassSerializerTest._
74+
6875
case class NestedClass(field: String)
6976

7077
def module = DefaultScalaModule
@@ -212,4 +219,14 @@ class CaseClassSerializerTest extends SerializerTest {
212219
serialize(GeneratedDefaultArgumentClass()) shouldEqual "{}"
213220
}
214221

222+
it should "serialize BigDecimalHolder" in {
223+
serialize(BigDecimalHolder(BigDecimal("123.456"))) shouldEqual """{"bigDecimal":123.456}"""
224+
}
225+
226+
it should "serialize BigDecimalHolder (JsonFormat.Shape.STRING)" in {
227+
val builder = newBuilder
228+
.withConfigOverride(classOf[BigDecimal],
229+
(c: MutableConfigOverride) => c.setFormat(JsonFormat.Value.forShape(JsonFormat.Shape.STRING)))
230+
serialize(BigDecimalHolder(BigDecimal("123.456")), builder.build()) shouldEqual """{"bigDecimal":"123.456"}"""
231+
}
215232
}

0 commit comments

Comments
 (0)