From bc14fd1119be870e1d1f813aa5292ca30ccc50b4 Mon Sep 17 00:00:00 2001 From: Georgi Krastev Date: Mon, 4 Dec 2017 13:08:27 +0100 Subject: Add test for low-priority implicits when chained --- tests/src/main/scala/tests.scala | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/src/main/scala/tests.scala b/tests/src/main/scala/tests.scala index a6e32d4..e275dee 100644 --- a/tests/src/main/scala/tests.scala +++ b/tests/src/main/scala/tests.scala @@ -20,6 +20,7 @@ case class Address(line1: String, occupant: Person) class Length(val value: Int) extends AnyVal +case class FruitBasket(fruits: Fruit*) case class Lunchbox(fruit: Fruit, drink: String) object Fruit { import examples._ @@ -105,6 +106,12 @@ object Tests extends TestApp { implicitly[Show[String, Fruit]].show(Fruit("apple")) }.assert(_ == "Fruit(name=apple)") + test("low-priority implicit does not beat Magnolia when chained") { + import magnolia.examples._ + import Show.gen + implicitly[Show[String, FruitBasket]].show(FruitBasket(Fruit("apple"), Fruit("banana"))) + }.assert(_ == "FruitBasket(fruits=[Fruit(name=apple),Fruit(name=banana)])") + test("typeclass implicit scope has lower priority than ADT implicit scope") { import magnolia.examples._ implicitly[Show[String, Fruit]].show(Fruit("apple")) -- cgit v1.2.3