diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2017-12-29 15:57:07 +0000 |
---|---|---|
committer | Jon Pretty <jon.pretty@propensive.com> | 2017-12-29 15:57:07 +0000 |
commit | f0b5356d5c181ab7bc396bf7b60ae821714fc756 (patch) | |
tree | 21ef18cfaed1c31d8ed2e011a6bc3345ea9c7bb0 /tests/src/main/scala | |
parent | 436c04954d6973aa60c59dc835bc3573b72b6bc2 (diff) | |
parent | c91b7cac849237062eea8a75134783e826dc21a0 (diff) | |
download | magnolia-f0b5356d5c181ab7bc396bf7b60ae821714fc756.tar.gz magnolia-f0b5356d5c181ab7bc396bf7b60ae821714fc756.tar.bz2 magnolia-f0b5356d5c181ab7bc396bf7b60ae821714fc756.zip |
Merge branch 'companion-ref' of https://github.com/joroKr21/magnolia into joroKr21-companion-ref
Diffstat (limited to 'tests/src/main/scala')
-rw-r--r-- | tests/src/main/scala/tests.scala | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/tests/src/main/scala/tests.scala b/tests/src/main/scala/tests.scala index ca3cc71..254a516 100644 --- a/tests/src/main/scala/tests.scala +++ b/tests/src/main/scala/tests.scala @@ -61,10 +61,9 @@ case class Account(id: String, emails: String*) case class Portfolio(companies: Company*) - object Tests extends TestApp { - def tests() = for (i <- 1 to 1) { + def tests(): Unit = for (i <- 1 to 1) { import examples._ test("construct a Show product instance with alternative apply functions") { @@ -276,21 +275,37 @@ object Tests extends TestApp { } }.assert(_ == "scala.Symbol cannot be cast to java.lang.Integer") - class ParentClass() { - case class LocalClass(name: String) + class ParentClass { + case class InnerClass(name: String) + case class InnerClassWithDefault(name: String = "foo") + + def testInner(): Unit = { + test("serialize a case class inside another class") { + implicitly[Show[String, InnerClass]].show(InnerClass("foo")) + }.assert(_ == "InnerClass(name=foo)") - test("serialize a case class inside another class") { - implicitly[Show[String, LocalClass]].show(LocalClass("foo")) - }.assert(_ == "LocalClass(name=foo)") + test("construct a default case class inside another class") { + Default.gen[InnerClassWithDefault].default + }.assert(_ == InnerClassWithDefault("foo")) + } - case class LocalClassWithDefault(name: String = "foo") + def testLocal(): Unit = { + case class LocalClass(name: String) + case class LocalClassWithDefault(name: String = "foo") - test("construct a default case class inside another class") { - Default.gen[LocalClassWithDefault].default - }.assert(_ == LocalClassWithDefault("foo")) + test("serialize a case class inside a method") { + implicitly[Show[String, LocalClass]].show(LocalClass("foo")) + }.assert(_ == "LocalClass(name=foo)") + + test("construct a default case class inside a method") { + Default.gen[LocalClassWithDefault].default + }.assert(_ == LocalClassWithDefault("foo")) + } } - new ParentClass() + val parent = new ParentClass() + parent.testInner() + parent.testLocal() test("show an Account") { Show.gen[Account].show(Account("john_doe", "john.doe@yahoo.com", "john.doe@gmail.com")) @@ -312,6 +327,5 @@ object Tests extends TestApp { implicit val stringTypeName: TypeName[String] = new TypeName[String] { def name = "" } TypeName.gen[Fruit].name }.assert(_ == "magnolia.tests.Fruit") - () } } |