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
2
2
3
3
import cats .kernel .Eq
4
4
import org .scalacheck .Prop
5
+ import org .scalacheck .util .Pretty
5
6
6
7
package 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
+ }
9
16
}
Original file line number Diff line number Diff line change @@ -2,11 +2,12 @@ package cats
2
2
package laws
3
3
4
4
import org .scalacheck .Prop
5
+ import org .scalacheck .util .Pretty
5
6
6
7
package object discipline {
7
8
8
9
val SerializableTests = cats.kernel.laws.discipline.SerializableTests
9
10
10
- implicit def catsLawsIsEqToProp [A : Eq ](isEq : IsEq [A ]): Prop =
11
+ implicit def catsLawsIsEqToProp [A : Eq ](isEq : IsEq [A ])( implicit pp : A => Pretty ) : Prop =
11
12
cats.kernel.laws.discipline.catsLawsIsEqToProp[A ](isEq)
12
13
}
You can’t perform that action at this time.
0 commit comments