aboutsummaryrefslogtreecommitdiff
path: root/shared/src/test/scala/ProductTypeFormatTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/test/scala/ProductTypeFormatTests.scala')
-rw-r--r--shared/src/test/scala/ProductTypeFormatTests.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/shared/src/test/scala/ProductTypeFormatTests.scala b/shared/src/test/scala/ProductTypeFormatTests.scala
index ce05000..502568f 100644
--- a/shared/src/test/scala/ProductTypeFormatTests.scala
+++ b/shared/src/test/scala/ProductTypeFormatTests.scala
@@ -74,4 +74,21 @@ class ProductTypeFormatTests
"""{"h": {"x":true}}"""
)
+ case class Opt(x: Option[Int])
+ implicit val optFmt = jsonFormat[Opt]
+
+ "Option fields with some value" should behave like checkRoundtrip(
+ Opt(Some(2)),
+ """{"x":2}"""
+ )
+
+ "Option fields with null value" should behave like checkRoundtrip(
+ Opt(None),
+ """{"x":null}"""
+ )
+
+ "Option fields with undefined value" should "deserialize" in {
+ assert("{}".parseJson.convertTo[Opt] == Opt(None))
+ }
+
}