aboutsummaryrefslogtreecommitdiff
path: root/shared/src/test/scala/ImplicitDerivedFormatTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/test/scala/ImplicitDerivedFormatTests.scala')
-rw-r--r--shared/src/test/scala/ImplicitDerivedFormatTests.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/shared/src/test/scala/ImplicitDerivedFormatTests.scala b/shared/src/test/scala/ImplicitDerivedFormatTests.scala
new file mode 100644
index 0000000..1d54ae9
--- /dev/null
+++ b/shared/src/test/scala/ImplicitDerivedFormatTests.scala
@@ -0,0 +1,24 @@
+package spray.json
+
+import org.scalatest._
+
+class ImplicitDerivedFormatTests
+ extends FlatSpec
+ with FormatTests
+ with ImplicitDerivedFormats
+ with DefaultJsonProtocol {
+
+ case class B(x: Int, b: String, mp: Map[String, Int])
+ case class C(b: B)
+
+ "Simple parameter product" should behave like checkRoundtrip(
+ B(42, "Hello World", Map("a" -> 1, "b" -> -1024)),
+ """{ "x": 42, "b": "Hello World", "mp": { "a": 1, "b": -1024 } }"""
+ )
+
+ "Nested parameter product with custom child format" should behave like checkRoundtrip(
+ C(B(42, "Hello World", Map("a" -> 1, "b" -> -1024))),
+ """{"b" :{ "x": 42, "b": "Hello World", "mp": { "a": 1, "b": -1024 } } }"""
+ )
+
+}