Skip to content

Commit

Permalink
Manual implicit resolution for the sake of scala 2.12
Browse files Browse the repository at this point in the history
  • Loading branch information
TimWSpence committed Mar 29, 2021
1 parent f09393a commit e6fed62
Showing 1 changed file with 37 additions and 2 deletions.
39 changes: 37 additions & 2 deletions tests/src/test/scala/cats/tests/RepresentableStoreTSuite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,47 @@ import cats.laws.discipline.arbitrary._
import cats.laws.discipline.eq._
import cats.syntax.eq._
import org.scalacheck.Prop._
import cats.data.RepresentableStoreT
import org.scalacheck.{Arbitrary, Cogen}

class StoreTSuite extends CatsSuite {
class RepresentableStoreTSuite extends CatsSuite {

implicit val monoid: Monoid[MiniInt] = MiniInt.miniIntAddition

checkAll("StoreT[Id, MiniInt, *]", ComonadTests[StoreT[Id, MiniInt, *]].comonad[MiniInt, MiniInt, MiniInt])
implicit val scala2_12_makes_me_sad: Comonad[StoreT[Id, MiniInt, *]] =
RepresentableStoreT.comonadForStoreT[Id, Function1[MiniInt, *], MiniInt]
//Like, really, really, really sad
val a: Arbitrary[Int] = implicitly[Arbitrary[Int]]
val b: Eq[Int] = Eq[Int]
val c: Arbitrary[StoreT[Id, MiniInt, Int]] = implicitly[Arbitrary[StoreT[Id, MiniInt, Int]]]
val d: Cogen[Int] = implicitly[Cogen[Int]]
val e: Cogen[StoreT[Id, MiniInt, Int]] = implicitly[Cogen[StoreT[Id, MiniInt, Int]]]
val f: Eq[StoreT[Id, MiniInt, Int]] = Eq[StoreT[Id, MiniInt, Int]]
val g: Eq[StoreT[Id, MiniInt, StoreT[Id, MiniInt, Int]]] = Eq[StoreT[Id, MiniInt, StoreT[Id, MiniInt, Int]]]
val h: Eq[StoreT[Id, MiniInt, StoreT[Id, MiniInt, StoreT[Id, MiniInt, Int]]]] =
Eq[StoreT[Id, MiniInt, StoreT[Id, MiniInt, StoreT[Id, MiniInt, Int]]]]

checkAll("StoreT[Id, MiniInt, *]",
ComonadTests[StoreT[Id, MiniInt, *]].comonad[Int, Int, Int](
a,
b,
a,
b,
a,
b,
c,
d,
d,
d,
e,
e,
f,
g,
h,
f,
f
)
)

checkAll("Comonad[StoreT[Id, MiniInt, *]]", SerializableTests.serializable(Comonad[StoreT[Id, MiniInt, *]]))

Expand Down

0 comments on commit e6fed62

Please sign in to comment.