File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed
kernel-laws/src/main/scala/cats/kernel/laws/discipline
laws/src/main/scala/cats/laws/discipline Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -2,8 +2,15 @@ package cats.kernel.laws
22
33import cats .kernel .Eq
44import org .scalacheck .Prop
5+ import org .scalacheck .util .Pretty
56
67package object discipline {
7- implicit def catsLawsIsEqToProp [A ](isEq : IsEq [A ])(implicit ev : Eq [A ]): Prop =
8- ev.eqv(isEq.lhs, isEq.rhs)
8+ implicit def catsLawsIsEqToProp [A ](isEq : IsEq [A ])(implicit ev : Eq [A ], pp : A => Pretty ): Prop =
9+ isEq match { case IsEq (x, y) =>
10+ if (ev.eqv(x, y)) Prop .proved else Prop .falsified :| {
11+ val exp = Pretty .pretty[A ](y, Pretty .Params (0 ))
12+ val act = Pretty .pretty[A ](x, Pretty .Params (0 ))
13+ s " Expected: $exp\n " + s " Received: $act"
14+ }
15+ }
916}
Original file line number Diff line number Diff line change @@ -2,11 +2,12 @@ package cats
22package laws
33
44import org .scalacheck .Prop
5+ import org .scalacheck .util .Pretty
56
67package object discipline {
78
89 val SerializableTests = cats.kernel.laws.discipline.SerializableTests
910
10- implicit def catsLawsIsEqToProp [A : Eq ](isEq : IsEq [A ]): Prop =
11+ implicit def catsLawsIsEqToProp [A : Eq ](isEq : IsEq [A ])( implicit pp : A => Pretty ) : Prop =
1112 cats.kernel.laws.discipline.catsLawsIsEqToProp[A ](isEq)
1213}
You can’t perform that action at this time.
0 commit comments