diff options
Diffstat (limited to 'shared/src/test/scala/ImplicitDerivedFormatTests.scala')
-rw-r--r-- | shared/src/test/scala/ImplicitDerivedFormatTests.scala | 24 |
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 } } }""" + ) + +} |