diff options
author | Mathias <mathias@spray.cc> | 2011-05-23 14:12:53 +0200 |
---|---|---|
committer | Mathias <mathias@spray.cc> | 2011-05-23 14:12:53 +0200 |
commit | 03e9e1a6d50f6afb7848033ad4ca1f5239943a2f (patch) | |
tree | 1605235adc731bb247aa6b81f1da0f09a5b8a398 /src/test/scala/cc | |
parent | 25f696587cedc7aad2053cd50ca9da22e42c3146 (diff) | |
download | spray-json-03e9e1a6d50f6afb7848033ad4ca1f5239943a2f.tar.gz spray-json-03e9e1a6d50f6afb7848033ad4ca1f5239943a2f.tar.bz2 spray-json-03e9e1a6d50f6afb7848033ad4ca1f5239943a2f.zip |
Add predefined JsonFormat for Either type
Diffstat (limited to 'src/test/scala/cc')
-rw-r--r-- | src/test/scala/cc/spray/json/StandardFormatsSpec.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/scala/cc/spray/json/StandardFormatsSpec.scala b/src/test/scala/cc/spray/json/StandardFormatsSpec.scala index 00561e0..7c454ac 100644 --- a/src/test/scala/cc/spray/json/StandardFormatsSpec.scala +++ b/src/test/scala/cc/spray/json/StandardFormatsSpec.scala @@ -1,6 +1,7 @@ package cc.spray.json import org.specs.Specification +import scala.Right class StandardFormatsSpec extends Specification with StandardFormats with BasicFormats { @@ -18,6 +19,24 @@ class StandardFormatsSpec extends Specification with StandardFormats with BasicF JsString("Hello").fromJson[Option[String]] mustEqual Some("Hello") } } + + "The eitherFormat" should { + val a: Either[Int, String] = Left(42) + val b: Either[Int, String] = Right("Hello") + + "convert the left side of an Either value to Json" in { + a.toJson mustEqual JsNumber(42) + } + "convert the right side of an Either value to Json" in { + b.toJson mustEqual JsString("Hello") + } + "convert the left side of an Either value from Json" in { + JsNumber(42).fromJson[Either[Int, String]] mustEqual Left(42) + } + "convert the right side of an Either value from Json" in { + JsString("Hello").fromJson[Either[Int, String]] mustEqual Right("Hello") + } + } "The tuple1Format" should { "convert (42) to a JsNumber" in { |