diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2018-06-06 21:27:28 +0100 |
---|---|---|
committer | Jon Pretty <jon.pretty@propensive.com> | 2018-06-06 21:27:28 +0100 |
commit | 091788d0ad6f94c91cc20d6074c3403934702325 (patch) | |
tree | 11416ba645230b6a7a5ef50a982dd3d07e97cc40 /tests/src/main/scala/tests.scala | |
parent | a59b1e72c9ad076034bde13be1e0f90452b45f20 (diff) | |
download | magnolia-091788d0ad6f94c91cc20d6074c3403934702325.tar.gz magnolia-091788d0ad6f94c91cc20d6074c3403934702325.tar.bz2 magnolia-091788d0ad6f94c91cc20d6074c3403934702325.zip |
Permit derivations of products when `dispatch` not defined
Diffstat (limited to 'tests/src/main/scala/tests.scala')
-rw-r--r-- | tests/src/main/scala/tests.scala | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/src/main/scala/tests.scala b/tests/src/main/scala/tests.scala index c3b90cc..f408253 100644 --- a/tests/src/main/scala/tests.scala +++ b/tests/src/main/scala/tests.scala @@ -55,7 +55,6 @@ case object Red extends Color case object Green extends Color case object Blue extends Color - case class MyAnnotation(order: Int) extends StaticAnnotation @MyAnnotation(0) case class Attributed( @@ -382,5 +381,19 @@ object Tests extends TestApp { Show.gen[Attributed].show(Attributed("xyz", 100)) }.assert(_ == "Attributed{MyAnnotation(0)}(p1{MyAnnotation(1)}=xyz,p2{MyAnnotation(2)}=100)") + test("allow no-coproduct derivation definitions") { + scalac""" + WeakHash.gen[Person] + """ + }.assert(_ == Returns(fqt"magnolia.examples.WeakHash.Typeclass[magnolia.tests.Person]")) + + test("disallow coproduct derivations without dispatch method") { + scalac""" + WeakHash.gen[Entity] + """ + }.assert(_ == TypecheckError("magnolia: the method `dispatch` must be defined on the derivation object WeakHash to derive typeclasses for sealed traits")) + + + } } |