Skip to content

Commit

Permalink
Don't use cats.instances in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
travisbrown committed Mar 25, 2020
1 parent 473b83f commit 3d89018
Show file tree
Hide file tree
Showing 23 changed files with 16 additions and 49 deletions.
2 changes: 0 additions & 2 deletions free/src/test/scala/cats/free/FreeSuite.scala
Expand Up @@ -228,8 +228,6 @@ class FreeSuite extends CatsSuite {
}

object FreeSuite extends FreeSuiteInstances {
import cats.instances.function._

implicit def trampolineArbitrary[A: Arbitrary]: Arbitrary[Trampoline[A]] =
freeArbitrary[Function0, A]

Expand Down
1 change: 0 additions & 1 deletion free/src/test/scala/cats/free/FreeTSuite.scala
Expand Up @@ -249,7 +249,6 @@ trait FreeTSuiteInstances {

import FreeT._
import IndexedStateT._
import cats.kernel.instances.option._
import cats.tests.IndexedStateTSuite._
import SemigroupalTests._

Expand Down
4 changes: 2 additions & 2 deletions js/src/test/scala/cats/tests/FutureTests.scala
@@ -1,7 +1,7 @@
package cats.js.tests

import cats.Comonad
import cats.instances.all._
import cats.instances.FutureInstances
import cats.js.instances.Await
import cats.js.instances.future.futureComonad
import cats.kernel.Eq
Expand All @@ -15,7 +15,7 @@ import org.scalacheck.Arbitrary.arbitrary
import scala.concurrent.{ExecutionContextExecutor, Future}
import scala.concurrent.duration._

class FutureTests extends CatsSuite {
class FutureTests extends CatsSuite with FutureInstances {
// Replaces Scala.js's `JSExecutionContext.runNow`, which is removed in 1.0.
// TODO: We shouldn't do this! See: https://github.com/scala-js/scala-js/issues/2102
implicit private object RunNowExecutionContext extends ExecutionContextExecutor {
Expand Down
2 changes: 1 addition & 1 deletion jvm/src/test/scala/cats/tests/FutureSuite.scala
@@ -1,6 +1,6 @@
package cats.jvm.tests

import cats.instances.all._
import cats.instances.future._
import cats.kernel.{Eq, Semigroup}
import cats.kernel.laws.discipline.{MonoidTests => MonoidLawTests, SemigroupTests => SemigroupLawTests}
import cats.laws.discipline._
Expand Down
1 change: 0 additions & 1 deletion testkit/src/main/scala/cats/tests/ListWrapper.scala
@@ -1,7 +1,6 @@
package cats
package tests

import cats.instances.list._
import org.scalacheck.{Arbitrary, Cogen}
import org.scalacheck.Arbitrary.arbitrary

Expand Down
Expand Up @@ -2,8 +2,8 @@ package cats.tests

import cats.{Comonad, Eval, Functor, Monad, NonEmptyTraverse, Now, Reducible, SemigroupK, Show}
import cats.data.{NonEmptyStream, OneAnd}
import cats.instances.all._
import cats.kernel.Semigroup
import cats.kernel.instances.order.catsKernelOrderingForOrder
import cats.kernel.laws.discipline.{EqTests, SemigroupTests}
import cats.laws.discipline._
import cats.laws.discipline.SemigroupalTests.Isomorphisms
Expand Down
Expand Up @@ -2,7 +2,6 @@ package cats.tests

import cats.{Eval, Foldable, Id, Now}
import cats.data.NonEmptyLazyList
import cats.instances.all._
import cats.laws.discipline.{NonEmptyParallelTests, ParallelTests}
import cats.laws.discipline.arbitrary._
import cats.syntax.either._
Expand Down
@@ -1,13 +1,13 @@
package cats.tests

import cats.{InvariantMonoidal, InvariantSemigroupal}
import cats.implicits._
import cats.kernel.{Eq, Monoid, Semigroup}
import cats.kernel.compat.scalaVersionSpecific._
import cats.kernel.laws.discipline.{MonoidTests, SemigroupTests}
import cats.laws.discipline.eq._
import cats.laws.discipline.arbitrary._
import cats.laws.discipline.{ExhaustiveCheck, InvariantMonoidalTests, MiniInt, SerializableTests}
import cats.syntax.all._
import org.scalacheck.{Arbitrary, Gen}

@suppressUnusedImportWarningForScalaVersionSpecific
Expand Down
4 changes: 2 additions & 2 deletions tests/src/test/scala/cats/tests/EitherSuite.scala
Expand Up @@ -42,7 +42,7 @@ class EitherSuite extends CatsSuite {
checkAll("Semigroup[Either[ListWrapper[String], Int]]",
SerializableTests.serializable(Semigroup[Either[ListWrapper[String], Int]]))

val partialOrder = catsStdPartialOrderForEither[Int, String]
val partialOrder = cats.kernel.instances.either.catsStdPartialOrderForEither[Int, String]
val order = implicitly[Order[Either[Int, String]]]
val monad = implicitly[Monad[Either[Int, *]]]
val show = implicitly[Show[Either[Int, String]]]
Expand Down Expand Up @@ -80,7 +80,7 @@ class EitherSuite extends CatsSuite {
}

test("implicit instances resolve specifically") {
val eq = catsStdEqForEither[Int, String]
val eq = cats.kernel.instances.either.catsStdEqForEither[Int, String]
assert(!eq.isInstanceOf[PartialOrder[_]])
assert(!eq.isInstanceOf[Order[_]])
assert(!partialOrder.isInstanceOf[Order[_]])
Expand Down
2 changes: 1 addition & 1 deletion tests/src/test/scala/cats/tests/FoldableSuite.scala
Expand Up @@ -2,7 +2,7 @@ package cats.tests

import cats.{Eval, Foldable, Id, Now}
import cats.data.{Const, EitherK, IdT, Ior, Nested, NonEmptyList, NonEmptyStream, NonEmptyVector, OneAnd, Validated}
import cats.instances.all._
import cats.instances.order._
import cats.kernel.{Eq, Monoid}
import cats.kernel.compat.scalaVersionSpecific._
import cats.laws.discipline.arbitrary._
Expand Down
2 changes: 1 addition & 1 deletion tests/src/test/scala/cats/tests/FunctionSuite.scala
Expand Up @@ -93,7 +93,7 @@ class FunctionSuite extends CatsSuite {
checkAll("Contravariant[* => Int]", SerializableTests.serializable(Contravariant[* => Int]))

checkAll("Function1", MonoidKTests[λ[α => α => α]].monoidK[MiniInt])
checkAll("MonoidK[λ[α => α => α]", SerializableTests.serializable(catsStdMonoidKForFunction1))
checkAll("MonoidK[λ[α => α => α]", SerializableTests.serializable(MonoidK[Endo]))

checkAll("Function1[MiniInt, *]",
DistributiveTests[MiniInt => *].distributive[Int, Int, Int, Id, Function1[MiniInt, *]])
Expand Down
Expand Up @@ -481,21 +481,15 @@ class ReaderWriterStateTSuite extends CatsSuite {
}

object ReaderWriterStateTSuite {
def addAndLog(i: Int): ReaderWriterState[String, Vector[String], Int, Int] = {
import cats.instances.vector._

def addAndLog(i: Int): ReaderWriterState[String, Vector[String], Int, Int] =
ReaderWriterState { (context, state) =>
(Vector(s"${context}: Added ${i}"), state + i, state + i)
}
}

def addLogUnit(i: Int): ReaderWriterState[String, Unit, Int, Int] = {
import cats.kernel.instances.unit._

def addLogUnit(i: Int): ReaderWriterState[String, Unit, Int, Int] =
ReaderWriterState { (context, state) =>
((), state + i, state + i)
}
}

implicit def IRWSTEq[F[_], E, L, SA, SB, A](implicit SA: ExhaustiveCheck[SA],
SB: Arbitrary[SB],
Expand Down
1 change: 0 additions & 1 deletion tests/src/test/scala/cats/tests/IndexedStateTSuite.scala
Expand Up @@ -3,7 +3,6 @@ package cats.tests
import cats._
import cats.arrow.{Profunctor, Strong}
import cats.data.{EitherT, IndexedStateT, State, StateT}
import cats.instances.all._
import cats.kernel.Eq
import cats.laws.discipline._
import cats.laws.discipline.SemigroupalTests.Isomorphisms
Expand Down
2 changes: 0 additions & 2 deletions tests/src/test/scala/cats/tests/IorTSuite.scala
Expand Up @@ -41,8 +41,6 @@ class IorTSuite extends CatsSuite {
}

{
implicit val F: MonadError[Option, Unit] = catsStdInstancesForOption

checkAll("IorT[Option, String, String]",
MonadErrorTests[IorT[Option, String, *], Unit].monadError[String, String, String])
checkAll("MonadError[IorT[Option, *, *]]",
Expand Down
2 changes: 1 addition & 1 deletion tests/src/test/scala/cats/tests/NonEmptyVectorSuite.scala
Expand Up @@ -18,8 +18,8 @@ import cats.{
}
import cats.data.NonEmptyVector
import cats.data.NonEmptyVector.ZipNonEmptyVector
import cats.instances.all._
import cats.kernel.Semigroup
import cats.kernel.instances.order.catsKernelOrderingForOrder
import cats.kernel.laws.discipline.{EqTests, SemigroupTests}
import cats.laws.discipline.{
AlignTests,
Expand Down
2 changes: 0 additions & 2 deletions tests/src/test/scala/cats/tests/OrderSuite.scala
Expand Up @@ -47,7 +47,6 @@ class OrderSuite extends CatsSuite {

object OrderSuite {
def summonInstance(): Unit = {
import cats.instances.order._
Invariant[Order]
Contravariant[Order]
ContravariantMonoidal[Order]
Expand All @@ -58,7 +57,6 @@ object OrderSuite {
// the Ordering instance from the Order instance should be trumped
// by the one provided in the Ordering companion object
{
import cats.instances.all._
Ordering[String]
class C
implicit val ording: Ordering[C] = new Ordering[C] {
Expand Down
7 changes: 0 additions & 7 deletions tests/src/test/scala/cats/tests/ParallelSuite.scala
Expand Up @@ -508,13 +508,6 @@ class ParallelSuite extends CatsSuite with ApplicativeErrorForEitherTest with Sc
}

trait ApplicativeErrorForEitherTest extends AnyFunSuiteLike with FunSuiteDiscipline with Checkers {

import cats.instances.either._
import cats.instances.string._
import cats.instances.int._
import cats.instances.unit._
import cats.instances.tuple._

implicit def eqV[A: Eq, B: Eq]: Eq[Validated[A, B]] = cats.data.Validated.catsDataEqForValidated

{
Expand Down
4 changes: 2 additions & 2 deletions tests/src/test/scala/cats/tests/PartialOrderSuite.scala
Expand Up @@ -2,7 +2,7 @@ package cats.tests

import cats.{Contravariant, ContravariantMonoidal, Invariant}
import cats.instances.all._
import cats.kernel.PartialOrder
import cats.kernel.{Order, PartialOrder}
import cats.kernel.laws.discipline.SerializableTests
import cats.laws.discipline.{ContravariantMonoidalTests, MiniInt}
import cats.laws.discipline.arbitrary._
Expand Down Expand Up @@ -30,6 +30,7 @@ class PartialOrderSuite extends CatsSuite {

test("companion object syntax") {
forAll { (i: Int, j: Int) =>
val catsKernelStdOrderForInt: Order[Int] = Order[Int]
checkPartialCompare(PartialOrder.partialCompare(i, j), catsKernelStdOrderForInt.partialCompare(i, j))
PartialOrder.tryCompare(i, j) should ===(catsKernelStdOrderForInt.tryCompare(i, j))
PartialOrder.pmin(i, j) should ===(catsKernelStdOrderForInt.pmin(i, j))
Expand Down Expand Up @@ -58,7 +59,6 @@ class PartialOrderSuite extends CatsSuite {

object PartialOrderSuite {
def summonInstance(): Unit = {
import cats.instances.partialOrder._
Invariant[PartialOrder]
Contravariant[PartialOrder]
()
Expand Down
2 changes: 0 additions & 2 deletions tests/src/test/scala/cats/tests/SemigroupSuite.scala
Expand Up @@ -9,14 +9,12 @@ import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks

class SemigroupSuite extends AnyFunSuiteLike with Matchers with ScalaCheckDrivenPropertyChecks {
{
import cats.implicits._
Invariant[Semigroup]
Semigroupal[Semigroup]
InvariantMonoidal[Semigroup]
}

{
import cats.instances.invariant._
Invariant[Semigroup]
Semigroupal[Semigroup]
InvariantMonoidal[Semigroup]
Expand Down
5 changes: 0 additions & 5 deletions tests/src/test/scala/cats/tests/ShowSuite.scala
Expand Up @@ -58,9 +58,6 @@ final class ShowSuite2 extends AnyFunSuiteLike {
"contravariant show for FiniteDuration can be inferred when importing both duration's and finiteDuration's instances"
) {

import cats.instances.duration._
import cats.instances.finiteDuration._

implicitly[Order[Duration]]
implicitly[Order[FiniteDuration]]

Expand All @@ -69,8 +66,6 @@ final class ShowSuite2 extends AnyFunSuiteLike {

test("all the Duration's and FiniteDuration's instances can be correctly inferred when importing implicits") {

import cats.implicits._

implicitly[Order[Duration]]
implicitly[Order[FiniteDuration]]

Expand Down
1 change: 0 additions & 1 deletion tests/src/test/scala/cats/tests/SyntaxSuite.scala
Expand Up @@ -3,7 +3,6 @@ package cats.tests
import cats._
import cats.arrow.Compose
import cats.data.{Binested, Nested, NonEmptyChain, NonEmptyList, NonEmptySet}
import cats.instances.all._
import cats.syntax.all._
import scala.collection.immutable.{SortedMap, SortedSet}

Expand Down
1 change: 0 additions & 1 deletion tests/src/test/scala/cats/tests/TraverseSuite.scala
@@ -1,7 +1,6 @@
package cats.tests

import cats.{Applicative, Eval, Traverse}
import cats.instances.all._
import cats.kernel.compat.scalaVersionSpecific._
import cats.syntax.foldable._
import cats.syntax.functor._
Expand Down
5 changes: 2 additions & 3 deletions tests/src/test/scala/cats/tests/UnorderedFoldableSuite.scala
@@ -1,7 +1,6 @@
package cats.tests

import cats.UnorderedFoldable
import cats.instances.all._
import cats.kernel.CommutativeMonoid
import cats.laws.discipline.UnorderedFoldableTests
import cats.syntax.unorderedFoldable._
Expand Down Expand Up @@ -51,13 +50,13 @@ sealed abstract class UnorderedFoldableSuite[F[_]](name: String)(implicit ArbFSt
final class UnorderedFoldableSetSuite extends UnorderedFoldableSuite[Set]("set") {
def iterator[T](set: Set[T]): Iterator[T] = set.iterator
def specializedUnorderedFoldMap[A, B: CommutativeMonoid](fa: Set[A])(f: A => B): B =
catsStdInstancesForSet.unorderedFoldMap(fa)(f)
UnorderedFoldable[Set].unorderedFoldMap(fa)(f)
}

final class UnorderedFoldableMapSuite extends UnorderedFoldableSuite[Map[String, *]]("map") {
def iterator[T](map: Map[String, T]): Iterator[T] = map.valuesIterator
def specializedUnorderedFoldMap[A, B: CommutativeMonoid](fa: Map[String, A])(f: A => B): B =
catsStdInstancesForMap[String].unorderedFoldMap(fa)(f)
UnorderedFoldable[Map[String, *]].unorderedFoldMap(fa)(f)
}

sealed abstract class SpecializedUnorderedFoldableSuite[F[_]: UnorderedFoldable](name: String)(
Expand Down

0 comments on commit 3d89018

Please sign in to comment.