diff --git a/.scalafmt.conf b/.scalafmt.conf
index 31720367..65fcfbd1 100644
--- a/.scalafmt.conf
+++ b/.scalafmt.conf
@@ -1,7 +1,7 @@
style = defaultWithAlign
docstrings = JavaDoc
-maxColumn = 140
+maxColumn = 180
rewrite.rules = [RedundantBraces, RedundantParens, SortImports]
spaces.inImportCurlyBraces = true
indentOperator = spray
diff --git a/build.sbt b/build.sbt
index 30f47986..fc58666b 100644
--- a/build.sbt
+++ b/build.sbt
@@ -21,7 +21,7 @@ lazy val commonSettings =
source.close
version.get
},
- crossScalaVersions := Seq("2.11.12", "2.12.8", currentScalaVersion),
+ crossScalaVersions := Seq("2.11.12", "2.12.9", currentScalaVersion),
scalafmtOnCompile := true,
scalacOptions ++= Seq(
"-unchecked",
diff --git a/cats/src/main/scala/org/mockito/cats/CatsStubbing.scala b/cats/src/main/scala/org/mockito/cats/CatsStubbing.scala
index 2f995e38..196cb252 100644
--- a/cats/src/main/scala/org/mockito/cats/CatsStubbing.scala
+++ b/cats/src/main/scala/org/mockito/cats/CatsStubbing.scala
@@ -33,14 +33,11 @@ case class CatsStubbing[F[_], T](delegate: OngoingStubbing[F[T]]) {
delegate thenAnswer functionToAnswer(f).andThen(F.pure)
def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(
- implicit F: Applicative[F]): CatsStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(
- implicit F: Applicative[F]): CatsStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(
- implicit F: Applicative[F]): CatsStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure)
def thenFailWith[E](error: E)(implicit F: ApplicativeError[F, _ >: E]): CatsStubbing[F, T] =
@@ -65,8 +62,7 @@ case class CatsStubbing2[F[_], G[_], T](delegate: OngoingStubbing[F[G[T]]]) {
def thenAnswer(f: => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer invocationToAnswer(_ => f).andThen(F.compose[G].pure)
- def thenAnswer[P0](
- f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0](f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
clazz[P0] match {
case c if c == classOf[InvocationOnMock] =>
delegate thenAnswer invocationToAnswer(i => f(i.asInstanceOf[P0])).andThen(F.compose[G].pure)
@@ -80,23 +76,18 @@ case class CatsStubbing2[F[_], G[_], T](delegate: OngoingStubbing[F[G[T]]]) {
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
def thenAnswer[P0, P1, P2, P3, P4](f: (P0, P1, P2, P3, P4) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F],
+ G: Applicative[G]): CatsStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure)
def thenFailWith[E](error: E)(implicit ae: Applicative[F], ag: ApplicativeError[G, _ >: E]): CatsStubbing2[F, G, T] =
diff --git a/cats/src/main/scala/org/mockito/cats/IdiomaticMockitoCats.scala b/cats/src/main/scala/org/mockito/cats/IdiomaticMockitoCats.scala
index 96a7aa33..085ed16d 100644
--- a/cats/src/main/scala/org/mockito/cats/IdiomaticMockitoCats.scala
+++ b/cats/src/main/scala/org/mockito/cats/IdiomaticMockitoCats.scala
@@ -178,23 +178,19 @@ object IdiomaticMockitoCats extends IdiomaticMockitoCats {
def apply[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(
- implicit F: Applicative[F]): CatsStubbing[F, T] = os thenAnswer f
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] = os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(
- implicit F: Applicative[F]): CatsStubbing[F, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(
- implicit F: Applicative[F]): CatsStubbing[F, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F]): CatsStubbing[F, T] =
os thenAnswer f
}
class AnswerActions2[F[_], G[_], T](os: CatsStubbing2[F, G, T]) {
def apply(f: => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] = os thenAnswer f
- def apply[P0](
- f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def apply[P0](f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
def apply[P0, P1](f: (P0, P1) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] = os thenAnswer f
@@ -207,27 +203,22 @@ object IdiomaticMockitoCats extends IdiomaticMockitoCats {
def apply[P0, P1, P2, P3, P4](f: (P0, P1, P2, P3, P4) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] = os thenAnswer f
+ def apply[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] = os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F],
- G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F], G: Applicative[G]): CatsStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F],
+ G: Applicative[G]): CatsStubbing2[F, G, T] =
os thenAnswer f
}
}
diff --git a/cats/src/main/scala/org/mockito/cats/MockitoCats.scala b/cats/src/main/scala/org/mockito/cats/MockitoCats.scala
index 7d1facf9..e26549d1 100644
--- a/cats/src/main/scala/org/mockito/cats/MockitoCats.scala
+++ b/cats/src/main/scala/org/mockito/cats/MockitoCats.scala
@@ -71,8 +71,7 @@ trait MockitoCats extends ScalacticSerialisableHack {
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].pure))
def doAnswerF[F[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].pure))
- def doAnswerF[F[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
+ def doAnswerF[F[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].pure))
def doAnswerFG[F[_]: Applicative, G[_]: Applicative, R](l: => R): Stubber =
@@ -103,17 +102,13 @@ trait MockitoCats extends ScalacticSerialisableHack {
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure))
def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, R](f: (P0, P1, P2, P3, P4, P5, P6) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, R](f: (P0, P1, P2, P3, P4, P5, P6, P7) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure))
implicit def catsEquality[T: Eq]: Equality[T] = new EqToEquality[T]
diff --git a/cats/src/test/scala/org/mockito/cats/DoSomethingCatsTest.scala b/cats/src/test/scala/org/mockito/cats/DoSomethingCatsTest.scala
index a7d4b9ff..bbd669b6 100644
--- a/cats/src/test/scala/org/mockito/cats/DoSomethingCatsTest.scala
+++ b/cats/src/test/scala/org/mockito/cats/DoSomethingCatsTest.scala
@@ -106,7 +106,7 @@ class DoSomethingCatsTest
"mocked!" willBe answeredF by aMock.returnsOptionString("hello")
((s: String) => s + " mocked!") willBe answeredF by aMock.returnsOptionString("hi")
- ((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!") willBe answeredF by aMock.returnsOptionString("hola")
+ ((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!") willBe answeredF by aMock.returnsOptionString("hola")
((i: Int, b: Boolean) => s"$i, $b") willBe answeredF by aMock.returnsOptionFrom(42, true)
aMock.returnsOptionString("hello").value shouldBe "mocked!"
@@ -120,7 +120,7 @@ class DoSomethingCatsTest
ValueClass("mocked!") willBe answeredFG by aMock.returnsFutureEither("hello")
((s: String) => ValueClass(s + " mocked!")) willBe answeredFG by aMock.returnsFutureEither("hi")
- ((i: InvocationOnMock) => ValueClass(i.getArgument[String](0) + " invocation mocked!")) willBe answeredFG by aMock
+ ((i: InvocationOnMock) => ValueClass(i.arg[String](0) + " invocation mocked!")) willBe answeredFG by aMock
.returnsFutureEither("hola")
((i: Int, b: Boolean) => s"$i, $b") willBe answeredFG by aMock.returnsFutureOptionFrom(42, true)
diff --git a/cats/src/test/scala/org/mockito/cats/IdiomaticMockitoCatsTest.scala b/cats/src/test/scala/org/mockito/cats/IdiomaticMockitoCatsTest.scala
index 6797663f..26aa8bc6 100644
--- a/cats/src/test/scala/org/mockito/cats/IdiomaticMockitoCatsTest.scala
+++ b/cats/src/test/scala/org/mockito/cats/IdiomaticMockitoCatsTest.scala
@@ -142,7 +142,7 @@ class IdiomaticMockitoCatsTest
aMock.returnsOptionString("hello") answersF "mocked!"
aMock.returnsOptionString("hi") answersF ((s: String) => s + " mocked!")
- aMock.returnsOptionString("hola") answersF ((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!")
+ aMock.returnsOptionString("hola") answersF ((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!")
aMock.returnsOptionFrom(42, true) answersF ((i: Int, b: Boolean) => s"$i, $b")
aMock.returnsOptionString("hello").value shouldBe "mocked!"
@@ -156,7 +156,7 @@ class IdiomaticMockitoCatsTest
aMock.returnsFutureEither("hello") answersFG ValueClass("mocked!")
aMock.returnsFutureEither("hi") answersFG ((s: String) => ValueClass(s + " mocked!"))
- aMock.returnsFutureEither("hola") answersFG ((i: InvocationOnMock) => ValueClass(i.getArgument[String](0) + " invocation mocked!"))
+ aMock.returnsFutureEither("hola") answersFG ((i: InvocationOnMock) => ValueClass(i.arg[String](0) + " invocation mocked!"))
aMock.returnsFutureOptionFrom(42, true) answersFG ((i: Int, b: Boolean) => s"$i, $b")
whenReady(aMock.returnsFutureEither("hello"))(_.right.value shouldBe ValueClass("mocked!"))
diff --git a/cats/src/test/scala/org/mockito/cats/MockitoCatsTest.scala b/cats/src/test/scala/org/mockito/cats/MockitoCatsTest.scala
index ecac4a7c..39d2519a 100644
--- a/cats/src/test/scala/org/mockito/cats/MockitoCatsTest.scala
+++ b/cats/src/test/scala/org/mockito/cats/MockitoCatsTest.scala
@@ -11,15 +11,7 @@ import org.scalatest.{ EitherValues, Matchers, OptionValues, WordSpec }
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
-class MockitoCatsTest
- extends WordSpec
- with Matchers
- with MockitoSugar
- with ArgumentMatchersSugar
- with MockitoCats
- with EitherValues
- with OptionValues
- with ScalaFutures {
+class MockitoCatsTest extends WordSpec with Matchers with MockitoSugar with ArgumentMatchersSugar with MockitoCats with EitherValues with OptionValues with ScalaFutures {
"when - return" should {
"stub full applicative" in {
@@ -128,7 +120,7 @@ class MockitoCatsTest
whenF(aMock.returnsOptionString("hello")) thenAnswer "mocked!"
whenF(aMock.returnsOptionString("hi")) thenAnswer ((s: String) => s + " mocked!")
- whenF(aMock.returnsOptionString("hola")) thenAnswer ((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!")
+ whenF(aMock.returnsOptionString("hola")) thenAnswer ((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!")
whenF(aMock.returnsOptionFrom(42, true)) thenAnswer ((i: Int, b: Boolean) => s"$i, $b")
aMock.returnsOptionString("hello").value shouldBe "mocked!"
@@ -142,8 +134,7 @@ class MockitoCatsTest
whenFG(aMock.returnsFutureEither("hello")) thenAnswer ValueClass("mocked!")
whenFG(aMock.returnsFutureEither("hi")) thenAnswer ((s: String) => ValueClass(s + " mocked!"))
- whenFG(aMock.returnsFutureEither("hola")) thenAnswer ((i: InvocationOnMock) =>
- ValueClass(i.getArgument[String](0) + " invocation mocked!"))
+ whenFG(aMock.returnsFutureEither("hola")) thenAnswer ((i: InvocationOnMock) => ValueClass(i.arg[String](0) + " invocation mocked!"))
whenFG(aMock.returnsFutureOptionFrom(42, true)) thenAnswer ((i: Int, b: Boolean) => s"$i, $b")
whenReady(aMock.returnsFutureEither("hello"))(_.right.value shouldBe ValueClass("mocked!"))
@@ -243,7 +234,7 @@ class MockitoCatsTest
doAnswerF[Option, String]("mocked!").when(aMock).returnsOptionString("hello")
doAnswerF[Option, String, String]((s: String) => s + " mocked!").when(aMock).returnsOptionString("hi")
- doAnswerF[Option, InvocationOnMock, String]((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!")
+ doAnswerF[Option, InvocationOnMock, String]((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!")
.when(aMock)
.returnsOptionString("hola")
doAnswerF[Option, Int, Boolean, String]((i: Int, b: Boolean) => s"$i, $b").when(aMock).returnsOptionFrom(42, true)
@@ -260,7 +251,7 @@ class MockitoCatsTest
doAnswerFG[Future, ErrorOr, ValueClass](ValueClass("mocked!")).when(aMock).returnsFutureEither("hello")
doAnswerFG[Future, ErrorOr, String, ValueClass]((s: String) => ValueClass(s + " mocked!")).when(aMock).returnsFutureEither("hi")
doAnswerFG[Future, ErrorOr, InvocationOnMock, ValueClass] { i: InvocationOnMock =>
- ValueClass(i.getArgument[String](0) + " invocation mocked!")
+ ValueClass(i.arg[String](0) + " invocation mocked!")
}.when(aMock)
.returnsFutureEither("hola")
doAnswerFG[Future, Option, Int, Boolean, String]((i: Int, b: Boolean) => s"$i, $b").when(aMock).returnsFutureOptionFrom(42, true)
diff --git a/common/src/main/scala-2.11/org/mockito/stubbing/ReturnsEmptyValues.scala b/common/src/main/scala-2.11/org/mockito/stubbing/ReturnsEmptyValues.scala
new file mode 100644
index 00000000..59b0f4b1
--- /dev/null
+++ b/common/src/main/scala-2.11/org/mockito/stubbing/ReturnsEmptyValues.scala
@@ -0,0 +1,41 @@
+package org.mockito
+package stubbing
+
+import org.mockito.exceptions.base.MockitoException
+import org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues
+import org.mockito.invocation.InvocationOnMock
+
+import scala.collection.mutable
+import scala.collection.mutable.ListBuffer
+import scala.concurrent.Future
+import scala.util.{ Failure, Try }
+
+object ReturnsEmptyValues extends DefaultAnswer {
+ private val javaEmptyValuesAndPrimitives = new ReturnsMoreEmptyValues
+
+ private[mockito] lazy val emptyValues: Map[Class[_], AnyRef] = Map(
+ classOf[Option[_]] -> Option.empty,
+ classOf[List[_]] -> List.empty,
+ classOf[Set[_]] -> Set.empty,
+ classOf[Seq[_]] -> Seq.empty,
+ classOf[Iterable[_]] -> Iterable.empty,
+ classOf[Traversable[_]] -> Traversable.empty,
+ classOf[IndexedSeq[_]] -> IndexedSeq.empty,
+ classOf[Iterator[_]] -> Iterator.empty,
+ classOf[Stream[_]] -> Stream.empty,
+ classOf[Vector[_]] -> Vector.empty,
+ classOf[Try[_]] -> Failure(new MockitoException("Auto stub provided by mockito-scala")),
+ classOf[Future[_]] -> Future.failed(new MockitoException("Auto stub provided by mockito-scala")),
+ classOf[BigDecimal] -> BigDecimal(0),
+ classOf[BigInt] -> BigInt(0),
+ classOf[StringBuilder] -> StringBuilder.newBuilder,
+ classOf[Map[_, _]] -> Map.empty,
+ classOf[ListBuffer[_]] -> ListBuffer.empty,
+ classOf[mutable.Seq[_]] -> ListBuffer.empty,
+ classOf[mutable.Set[_]] -> mutable.HashSet.empty,
+ classOf[Either[_, _]] -> Left("Auto stub provided by mockito-scala")
+ )
+
+ override def apply(invocation: InvocationOnMock): Option[Any] =
+ Option(javaEmptyValuesAndPrimitives.answer(invocation)).orElse(emptyValues.get(invocation.returnType))
+}
diff --git a/common/src/main/scala-2.12/org/mockito/stubbing/ReturnsEmptyValues.scala b/common/src/main/scala-2.12/org/mockito/stubbing/ReturnsEmptyValues.scala
new file mode 100644
index 00000000..59b0f4b1
--- /dev/null
+++ b/common/src/main/scala-2.12/org/mockito/stubbing/ReturnsEmptyValues.scala
@@ -0,0 +1,41 @@
+package org.mockito
+package stubbing
+
+import org.mockito.exceptions.base.MockitoException
+import org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues
+import org.mockito.invocation.InvocationOnMock
+
+import scala.collection.mutable
+import scala.collection.mutable.ListBuffer
+import scala.concurrent.Future
+import scala.util.{ Failure, Try }
+
+object ReturnsEmptyValues extends DefaultAnswer {
+ private val javaEmptyValuesAndPrimitives = new ReturnsMoreEmptyValues
+
+ private[mockito] lazy val emptyValues: Map[Class[_], AnyRef] = Map(
+ classOf[Option[_]] -> Option.empty,
+ classOf[List[_]] -> List.empty,
+ classOf[Set[_]] -> Set.empty,
+ classOf[Seq[_]] -> Seq.empty,
+ classOf[Iterable[_]] -> Iterable.empty,
+ classOf[Traversable[_]] -> Traversable.empty,
+ classOf[IndexedSeq[_]] -> IndexedSeq.empty,
+ classOf[Iterator[_]] -> Iterator.empty,
+ classOf[Stream[_]] -> Stream.empty,
+ classOf[Vector[_]] -> Vector.empty,
+ classOf[Try[_]] -> Failure(new MockitoException("Auto stub provided by mockito-scala")),
+ classOf[Future[_]] -> Future.failed(new MockitoException("Auto stub provided by mockito-scala")),
+ classOf[BigDecimal] -> BigDecimal(0),
+ classOf[BigInt] -> BigInt(0),
+ classOf[StringBuilder] -> StringBuilder.newBuilder,
+ classOf[Map[_, _]] -> Map.empty,
+ classOf[ListBuffer[_]] -> ListBuffer.empty,
+ classOf[mutable.Seq[_]] -> ListBuffer.empty,
+ classOf[mutable.Set[_]] -> mutable.HashSet.empty,
+ classOf[Either[_, _]] -> Left("Auto stub provided by mockito-scala")
+ )
+
+ override def apply(invocation: InvocationOnMock): Option[Any] =
+ Option(javaEmptyValuesAndPrimitives.answer(invocation)).orElse(emptyValues.get(invocation.returnType))
+}
diff --git a/common/src/main/scala-2.13/org/mockito/stubbing/ReturnsEmptyValues.scala b/common/src/main/scala-2.13/org/mockito/stubbing/ReturnsEmptyValues.scala
new file mode 100644
index 00000000..92e56805
--- /dev/null
+++ b/common/src/main/scala-2.13/org/mockito/stubbing/ReturnsEmptyValues.scala
@@ -0,0 +1,40 @@
+package org.mockito
+package stubbing
+
+import org.mockito.exceptions.base.MockitoException
+import org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues
+import org.mockito.invocation.InvocationOnMock
+
+import scala.collection.mutable
+import scala.collection.mutable.ListBuffer
+import scala.concurrent.Future
+import scala.util.{ Failure, Try }
+
+object ReturnsEmptyValues extends DefaultAnswer {
+ private val javaEmptyValuesAndPrimitives = new ReturnsMoreEmptyValues
+
+ private[mockito] lazy val emptyValues: Map[Class[_], AnyRef] = Map(
+ classOf[Option[_]] -> Option.empty,
+ classOf[List[_]] -> List.empty,
+ classOf[Set[_]] -> Set.empty,
+ classOf[Seq[_]] -> Seq.empty,
+ classOf[Iterable[_]] -> Iterable.empty,
+ classOf[IndexedSeq[_]] -> IndexedSeq.empty,
+ classOf[Iterator[_]] -> Iterator.empty,
+ classOf[LazyList[_]] -> LazyList.empty,
+ classOf[Vector[_]] -> Vector.empty,
+ classOf[Try[_]] -> Failure(new MockitoException("Auto stub provided by mockito-scala")),
+ classOf[Future[_]] -> Future.failed(new MockitoException("Auto stub provided by mockito-scala")),
+ classOf[BigDecimal] -> BigDecimal(0),
+ classOf[BigInt] -> BigInt(0),
+ classOf[StringBuilder] -> new StringBuilder,
+ classOf[Map[_, _]] -> Map.empty,
+ classOf[ListBuffer[_]] -> ListBuffer.empty,
+ classOf[mutable.Seq[_]] -> ListBuffer.empty,
+ classOf[mutable.Set[_]] -> mutable.HashSet.empty,
+ classOf[Either[_, _]] -> Left("Auto stub provided by mockito-scala")
+ )
+
+ override def apply(invocation: InvocationOnMock): Option[Any] =
+ Option(javaEmptyValuesAndPrimitives.answer(invocation)).orElse(emptyValues.get(invocation.returnType))
+}
diff --git a/common/src/main/scala/org/mockito/MockitoAPI.scala b/common/src/main/scala/org/mockito/MockitoAPI.scala
index 8b771a07..4114636d 100644
--- a/common/src/main/scala/org/mockito/MockitoAPI.scala
+++ b/common/src/main/scala/org/mockito/MockitoAPI.scala
@@ -12,6 +12,7 @@
package org.mockito
import org.mockito.Answers.CALLS_REAL_METHODS
+import org.mockito.ReflectionUtils.InvocationOnMockOps
import org.mockito.internal.ValueClassExtractor
import org.mockito.internal.configuration.plugins.Plugins.getMockMaker
import org.mockito.internal.creation.MockSettingsImpl
@@ -23,7 +24,7 @@ import org.mockito.internal.util.reflection.LenientCopyTool
import org.mockito.invocation.InvocationOnMock
import org.mockito.mock.MockCreationSettings
import org.mockito.stubbing.{ Answer, DefaultAnswer, ScalaFirstStubbing, Stubber }
-import org.mockito.verification.{ VerificationMode, VerificationWithTimeout }
+import org.mockito.verification.{ VerificationAfterDelay, VerificationMode, VerificationWithTimeout }
import org.scalactic.{ Equality, Prettifier }
import scala.collection.JavaConverters._
@@ -129,13 +130,14 @@ private[mockito] trait DoSomething {
Mockito.doAnswer(functionToAnswer(f))
def doAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R: ValueClassExtractor](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f))
- def doAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R: ValueClassExtractor](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
+ def doAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R: ValueClassExtractor](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f))
}
private[mockito] trait MockitoEnhancer extends MockCreator {
+ implicit val invocationOps: InvocationOnMock => InvocationOnMockOps = InvocationOps
+
/**
* Delegates to Mockito.mock(type: Class[T])
* It provides a nicer API as you can, for instance, do mock[MyClass]
@@ -317,6 +319,11 @@ private[mockito] trait Verifications {
*/
def timeout(millis: Int): VerificationWithTimeout = Mockito.timeout(millis)
+ /**
+ * Delegates to Mockito.after()
, it's only here to expose the full Mockito API
+ */
+ def after(millis: Int): VerificationAfterDelay = Mockito.after(millis)
+
/**
* Delegates to Mockito.times()
, it's only here to expose the full Mockito API
*/
diff --git a/common/src/main/scala/org/mockito/ReflectionUtils.scala b/common/src/main/scala/org/mockito/ReflectionUtils.scala
index bc4ede2e..5425fd46 100644
--- a/common/src/main/scala/org/mockito/ReflectionUtils.scala
+++ b/common/src/main/scala/org/mockito/ReflectionUtils.scala
@@ -10,7 +10,7 @@ import scala.reflect.ClassTag
import scala.reflect.internal.Symbols
import scala.util.control.NonFatal
-private[mockito] object ReflectionUtils {
+object ReflectionUtils {
import scala.reflect.runtime.{ universe => ru }
import ru._
@@ -22,9 +22,14 @@ private[mockito] object ReflectionUtils {
def methodToJava(sym: Symbols#MethodSymbol): Method
}]
- implicit class InvocationOnMockOps(invocation: InvocationOnMock) {
+ implicit class InvocationOnMockOps(val invocation: InvocationOnMock) extends AnyVal {
+ def mock[M]: M = invocation.getMock.asInstanceOf[M]
+ def method: Method = invocation.getMethod
+ def arg[A](index: Int): A = invocation.getArgument(index)
+ def args: List[Any] = invocation.getArguments.toList
+ def callRealMethod[A](): A = invocation.callRealMethod.asInstanceOf[A]
+
def returnType: Class[_] = {
- val method = invocation.getMethod
val javaReturnType = method.getReturnType
if (javaReturnType == classOf[Object])
diff --git a/common/src/main/scala/org/mockito/internal/handler/ScalaMockHandler.scala b/common/src/main/scala/org/mockito/internal/handler/ScalaMockHandler.scala
index 57bcf6ec..14d1f604 100644
--- a/common/src/main/scala/org/mockito/internal/handler/ScalaMockHandler.scala
+++ b/common/src/main/scala/org/mockito/internal/handler/ScalaMockHandler.scala
@@ -16,8 +16,7 @@ import org.scalactic.TripleEquals._
import scala.collection.JavaConverters._
-class ScalaMockHandler[T](mockSettings: MockCreationSettings[T], methodsToProcess: Seq[(Method, Set[Int])])(implicit $pt: Prettifier)
- extends MockHandlerImpl[T](mockSettings) {
+class ScalaMockHandler[T](mockSettings: MockCreationSettings[T], methodsToProcess: Seq[(Method, Set[Int])])(implicit $pt: Prettifier) extends MockHandlerImpl[T](mockSettings) {
override def handle(invocation: Invocation): AnyRef =
invocation match {
diff --git a/common/src/main/scala/org/mockito/internal/handler/ScalaNullResultGuardian.scala b/common/src/main/scala/org/mockito/internal/handler/ScalaNullResultGuardian.scala
index adaa1496..9a68ae13 100644
--- a/common/src/main/scala/org/mockito/internal/handler/ScalaNullResultGuardian.scala
+++ b/common/src/main/scala/org/mockito/internal/handler/ScalaNullResultGuardian.scala
@@ -1,8 +1,9 @@
-package org.mockito.internal.handler
+package org.mockito
+package internal.handler
+
import org.mockito.internal.util.Primitives.defaultValue
import org.mockito.invocation.{ Invocation, InvocationContainer, MockHandler }
import org.mockito.mock.MockCreationSettings
-import org.mockito.ReflectionUtils._
class ScalaNullResultGuardian[T](delegate: MockHandler[T]) extends MockHandler[T] {
diff --git a/common/src/main/scala/org/mockito/mockito.scala b/common/src/main/scala/org/mockito/mockito.scala
index abd37a80..3dc16d12 100644
--- a/common/src/main/scala/org/mockito/mockito.scala
+++ b/common/src/main/scala/org/mockito/mockito.scala
@@ -2,6 +2,7 @@ package org
import java.lang.reflect.Method
+import org.mockito.ReflectionUtils.InvocationOnMockOps
import org.mockito.internal.ValueClassExtractor
import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.ScalaAnswer
@@ -19,104 +20,45 @@ package object mockito {
def clazz[T](implicit classTag: ClassTag[T]): Class[T] = classTag.runtimeClass.asInstanceOf[Class[T]]
+ implicit val InvocationOps: InvocationOnMock => InvocationOnMockOps = new InvocationOnMockOps(_)
+
//noinspection ConvertExpressionToSAM
def invocationToAnswer[T: ValueClassExtractor](f: InvocationOnMock => T): ScalaAnswer[T] =
ScalaAnswer.lift(f.andThen(ValueClassExtractor[T].extractAs[T]))
def functionToAnswer[T: ValueClassExtractor, P0](f: P0 => T): ScalaAnswer[T] =
- invocationToAnswer(i => f(i.getArgument[P0](0)))
+ invocationToAnswer(i => f(i.arg[P0](0)))
def functionToAnswer[T: ValueClassExtractor, P1, P0](f: (P0, P1) => T): ScalaAnswer[T] =
- invocationToAnswer(i => f(i.getArgument[P0](0), i.getArgument[P1](1)))
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1)))
def functionToAnswer[T: ValueClassExtractor, P2, P1, P0](f: (P0, P1, P2) => T): ScalaAnswer[T] =
- invocationToAnswer(i => f(i.getArgument[P0](0), i.getArgument[P1](1), i.getArgument[P2](2)))
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2)))
def functionToAnswer[T: ValueClassExtractor, P3, P2, P1, P0](f: (P0, P1, P2, P3) => T): ScalaAnswer[T] =
- invocationToAnswer(i => f(i.getArgument[P0](0), i.getArgument[P1](1), i.getArgument[P2](2), i.getArgument[P3](3)))
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3)))
def functionToAnswer[T: ValueClassExtractor, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4) => T): ScalaAnswer[T] =
- invocationToAnswer(i => f(i.getArgument[P0](0), i.getArgument[P1](1), i.getArgument[P2](2), i.getArgument[P3](3), i.getArgument[P4](4)))
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4)))
def functionToAnswer[T: ValueClassExtractor, P5, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4, P5) => T): ScalaAnswer[T] =
- invocationToAnswer(i =>
- f(i.getArgument[P0](0), i.getArgument[P1](1), i.getArgument[P2](2), i.getArgument[P3](3), i.getArgument[P4](4), i.getArgument[P5](5)))
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4), i.arg[P5](5)))
def functionToAnswer[T: ValueClassExtractor, P6, P5, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4, P5, P6) => T): ScalaAnswer[T] =
- invocationToAnswer(
- i =>
- f(i.getArgument[P0](0),
- i.getArgument[P1](1),
- i.getArgument[P2](2),
- i.getArgument[P3](3),
- i.getArgument[P4](4),
- i.getArgument[P5](5),
- i.getArgument[P6](6)))
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4), i.arg[P5](5), i.arg[P6](6)))
def functionToAnswer[T: ValueClassExtractor, P7, P6, P5, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T): ScalaAnswer[T] =
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4), i.arg[P5](5), i.arg[P6](6), i.arg[P7](7)))
+
+ def functionToAnswer[T: ValueClassExtractor, P8, P7, P6, P5, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T): ScalaAnswer[T] =
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4), i.arg[P5](5), i.arg[P6](6), i.arg[P7](7), i.arg[P8](8)))
+
+ def functionToAnswer[T: ValueClassExtractor, P9, P8, P7, P6, P5, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T): ScalaAnswer[T] =
+ invocationToAnswer(i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4), i.arg[P5](5), i.arg[P6](6), i.arg[P7](7), i.arg[P8](8), i.arg[P9](9)))
+
+ def functionToAnswer[T: ValueClassExtractor, P10, P9, P8, P7, P6, P5, P4, P3, P2, P1, P0](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaAnswer[T] =
invocationToAnswer(
- i =>
- f(
- i.getArgument[P0](0),
- i.getArgument[P1](1),
- i.getArgument[P2](2),
- i.getArgument[P3](3),
- i.getArgument[P4](4),
- i.getArgument[P5](5),
- i.getArgument[P6](6),
- i.getArgument[P7](7)
- ))
-
- def functionToAnswer[T: ValueClassExtractor, P8, P7, P6, P5, P4, P3, P2, P1, P0](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T): ScalaAnswer[T] =
- invocationToAnswer(
- i =>
- f(
- i.getArgument[P0](0),
- i.getArgument[P1](1),
- i.getArgument[P2](2),
- i.getArgument[P3](3),
- i.getArgument[P4](4),
- i.getArgument[P5](5),
- i.getArgument[P6](6),
- i.getArgument[P7](7),
- i.getArgument[P8](8)
- ))
-
- def functionToAnswer[T: ValueClassExtractor, P9, P8, P7, P6, P5, P4, P3, P2, P1, P0](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T): ScalaAnswer[T] =
- invocationToAnswer(
- i =>
- f(
- i.getArgument[P0](0),
- i.getArgument[P1](1),
- i.getArgument[P2](2),
- i.getArgument[P3](3),
- i.getArgument[P4](4),
- i.getArgument[P5](5),
- i.getArgument[P6](6),
- i.getArgument[P7](7),
- i.getArgument[P8](8),
- i.getArgument[P9](9)
- ))
-
- def functionToAnswer[T: ValueClassExtractor, P10, P9, P8, P7, P6, P5, P4, P3, P2, P1, P0](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaAnswer[T] =
- invocationToAnswer(
- i =>
- f(
- i.getArgument[P0](0),
- i.getArgument[P1](1),
- i.getArgument[P2](2),
- i.getArgument[P3](3),
- i.getArgument[P4](4),
- i.getArgument[P5](5),
- i.getArgument[P6](6),
- i.getArgument[P7](7),
- i.getArgument[P8](8),
- i.getArgument[P9](9),
- i.getArgument[P10](10)
- ))
+ i => f(i.arg[P0](0), i.arg[P1](1), i.arg[P2](2), i.arg[P3](3), i.arg[P4](4), i.arg[P5](5), i.arg[P6](6), i.arg[P7](7), i.arg[P8](8), i.arg[P9](9), i.arg[P10](10)))
//Look at org.mockito.internal.invocation.InvocationMatcher#hasSameMethod
implicit val JavaMethodEquality: Equality[Method] = new Equality[Method] {
diff --git a/common/src/main/scala/org/mockito/stubbing/DefaultAnswer.scala b/common/src/main/scala/org/mockito/stubbing/DefaultAnswer.scala
index 48634127..7616b795 100644
--- a/common/src/main/scala/org/mockito/stubbing/DefaultAnswer.scala
+++ b/common/src/main/scala/org/mockito/stubbing/DefaultAnswer.scala
@@ -38,27 +38,3 @@ class DecoratedAnswer(from: Answer[_]) extends DefaultAnswer {
object ReturnsDefaults extends DecoratedAnswer(RETURNS_DEFAULTS)
object ReturnsDeepStubs extends DecoratedAnswer(RETURNS_DEEP_STUBS)
object CallsRealMethods extends DecoratedAnswer(CALLS_REAL_METHODS)
-object ReturnsEmptyValues extends DefaultAnswer {
- private val javaEmptyValuesAndPrimitives = new ReturnsMoreEmptyValues
-
- private[mockito] lazy val emptyValues: Map[Class[_], AnyRef] = Map(
- classOf[Option[_]] -> Option.empty,
- classOf[List[_]] -> List.empty,
- classOf[Set[_]] -> Set.empty,
- classOf[Seq[_]] -> Seq.empty,
- classOf[Iterable[_]] -> Iterable.empty,
- classOf[Traversable[_]] -> Traversable.empty,
- classOf[IndexedSeq[_]] -> IndexedSeq.empty,
- classOf[Iterator[_]] -> Iterator.empty,
- classOf[Stream[_]] -> Stream.empty,
- classOf[Vector[_]] -> Vector.empty,
- classOf[Try[_]] -> Failure(new MockitoException("Auto stub provided by mockito-scala")),
- classOf[Future[_]] -> Future.failed(new MockitoException("Auto stub provided by mockito-scala")),
- classOf[BigDecimal] -> BigDecimal(0),
- classOf[BigInt] -> BigInt(0),
- classOf[StringBuilder] -> StringBuilder.newBuilder
- )
-
- override def apply(invocation: InvocationOnMock): Option[Any] =
- Option(javaEmptyValuesAndPrimitives.answer(invocation)).orElse(emptyValues.get(invocation.getMethod.getReturnType))
-}
diff --git a/common/src/main/scala/org/mockito/stubbing/ReturnsSmartNulls.scala b/common/src/main/scala/org/mockito/stubbing/ReturnsSmartNulls.scala
index 6bcc769d..b4376d62 100644
--- a/common/src/main/scala/org/mockito/stubbing/ReturnsSmartNulls.scala
+++ b/common/src/main/scala/org/mockito/stubbing/ReturnsSmartNulls.scala
@@ -1,8 +1,8 @@
-package org.mockito.stubbing
+package org.mockito
+package stubbing
import java.lang.reflect.Modifier.isFinal
import org.mockito.Mockito.{ mock, withSettings }
-import org.mockito.ReflectionUtils._
import org.mockito.internal.debugging.LocationImpl
import org.mockito.internal.exceptions.Reporter.smartNullPointerException
import org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues
diff --git a/common/src/main/scala/org/mockito/stubbing/ScalaBaseStubbing.scala b/common/src/main/scala/org/mockito/stubbing/ScalaBaseStubbing.scala
index a48683cc..c0fa63a1 100644
--- a/common/src/main/scala/org/mockito/stubbing/ScalaBaseStubbing.scala
+++ b/common/src/main/scala/org/mockito/stubbing/ScalaBaseStubbing.scala
@@ -49,11 +49,9 @@ abstract class ScalaBaseStubbing[T: ValueClassExtractor] {
delegate thenAnswer functionToAnswer(f)
protected def _thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T): ScalaOngoingStubbing[T] =
delegate thenAnswer functionToAnswer(f)
- protected def _thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T): ScalaOngoingStubbing[T] =
+ protected def _thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T): ScalaOngoingStubbing[T] =
delegate thenAnswer functionToAnswer(f)
- protected def _thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaOngoingStubbing[T] =
+ protected def _thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaOngoingStubbing[T] =
delegate thenAnswer functionToAnswer(f)
/**
diff --git a/common/src/main/scala/org/mockito/stubbing/ScalaFirstStubbing.scala b/common/src/main/scala/org/mockito/stubbing/ScalaFirstStubbing.scala
index b2bcbfc6..e929ecc1 100644
--- a/common/src/main/scala/org/mockito/stubbing/ScalaFirstStubbing.scala
+++ b/common/src/main/scala/org/mockito/stubbing/ScalaFirstStubbing.scala
@@ -132,6 +132,5 @@ case class ScalaFirstStubbing[T: ValueClassExtractor](delegate: OngoingStubbing[
def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T): ScalaOngoingStubbing[T] = _thenAnswer(f)
def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T): ScalaOngoingStubbing[T] =
_thenAnswer(f)
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaOngoingStubbing[T] = _thenAnswer(f)
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaOngoingStubbing[T] = _thenAnswer(f)
}
diff --git a/common/src/main/scala/org/mockito/stubbing/ScalaOngoingStubbing.scala b/common/src/main/scala/org/mockito/stubbing/ScalaOngoingStubbing.scala
index 2eb8caa4..5cbdf7b9 100644
--- a/common/src/main/scala/org/mockito/stubbing/ScalaOngoingStubbing.scala
+++ b/common/src/main/scala/org/mockito/stubbing/ScalaOngoingStubbing.scala
@@ -117,6 +117,5 @@ case class ScalaOngoingStubbing[T: ValueClassExtractor](delegate: OngoingStubbin
_thenAnswer(f)
def andThenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T): ScalaOngoingStubbing[T] =
_thenAnswer(f)
- def andThenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaOngoingStubbing[T] = _thenAnswer(f)
+ def andThenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T): ScalaOngoingStubbing[T] = _thenAnswer(f)
}
diff --git a/core/src/main/scala/org/mockito/IdiomaticMockitoBase.scala b/core/src/main/scala/org/mockito/IdiomaticMockitoBase.scala
index fab2106b..e2895d8d 100644
--- a/core/src/main/scala/org/mockito/IdiomaticMockitoBase.scala
+++ b/core/src/main/scala/org/mockito/IdiomaticMockitoBase.scala
@@ -36,6 +36,9 @@ object IdiomaticMockitoBase {
def within(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
override def verificationMode: VerificationMode = Mockito.timeout(d.toMillis).times(times)
}
+ def after(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
+ override def verificationMode: VerificationMode = Mockito.after(d.toMillis).times(times)
+ }
}
//Helper methods for the specs2 macro
@@ -52,10 +55,16 @@ object IdiomaticMockitoBase {
def within(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
override def verificationMode: VerificationMode = Mockito.timeout(d.toMillis).atLeast(times)
}
+ def after(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
+ override def verificationMode: VerificationMode = Mockito.after(d.toMillis).atLeast(times)
+ }
}
case class AtMost(times: Int) extends ScalaVerificationMode {
override def verificationMode: VerificationMode = Mockito.atMost(times)
+ def after(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
+ override def verificationMode: VerificationMode = Mockito.after(d.toMillis).atMost(times)
+ }
}
object OnlyOn extends ScalaVerificationMode {
@@ -63,6 +72,9 @@ object IdiomaticMockitoBase {
def within(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
override def verificationMode: VerificationMode = Mockito.timeout(d.toMillis).only
}
+ def after(d: Duration): ScalaVerificationMode = new ScalaVerificationMode {
+ override def verificationMode: VerificationMode = Mockito.after(d.toMillis).only
+ }
}
class ReturnActions[T](os: ScalaFirstStubbing[T]) {
diff --git a/core/src/main/scala/org/mockito/MockitoScalaSession.scala b/core/src/main/scala/org/mockito/MockitoScalaSession.scala
index d58f41db..21988fa3 100644
--- a/core/src/main/scala/org/mockito/MockitoScalaSession.scala
+++ b/core/src/main/scala/org/mockito/MockitoScalaSession.scala
@@ -54,9 +54,7 @@ class MockitoScalaSession(name: String, strictness: Strictness, logger: MockitoS
}
object MockitoScalaSession {
- def apply(name: String = "",
- strictness: Strictness = Strictness.StrictStubs,
- logger: MockitoSessionLogger = MockitoScalaLogger): MockitoScalaSession =
+ def apply(name: String = "", strictness: Strictness = Strictness.StrictStubs, logger: MockitoSessionLogger = MockitoScalaLogger): MockitoScalaSession =
new MockitoScalaSession(name, strictness, logger)
trait Reporter {
diff --git a/core/src/main/scala/org/mockito/integrations/scalatest/IdiomaticMockitoFixture.scala b/core/src/main/scala/org/mockito/integrations/scalatest/IdiomaticMockitoFixture.scala
index 407c9e75..486f840a 100644
--- a/core/src/main/scala/org/mockito/integrations/scalatest/IdiomaticMockitoFixture.scala
+++ b/core/src/main/scala/org/mockito/integrations/scalatest/IdiomaticMockitoFixture.scala
@@ -8,7 +8,5 @@ import org.mockito._
* Just mix-in after your favourite suite, i.e. {{{class MyTest extends WordSpec with IdiomaticMockitoFixture}}}
*
*/
-@deprecated(
- "Please use org.mockito.scalatest.IdiomaticMockito or org.mockito.scalatest.AsyncIdiomaticMockito from the mockito-scala-scalatest module",
- "1.3.0")
+@deprecated("Please use org.mockito.scalatest.IdiomaticMockito or org.mockito.scalatest.AsyncIdiomaticMockito from the mockito-scala-scalatest module", "1.3.0")
trait IdiomaticMockitoFixture extends MockitoSessionFixture with IdiomaticMockito with ArgumentMatchersSugar
diff --git a/core/src/main/scala/org/mockito/integrations/scalatest/MockitoFixture.scala b/core/src/main/scala/org/mockito/integrations/scalatest/MockitoFixture.scala
index 68161e16..f53f91c6 100644
--- a/core/src/main/scala/org/mockito/integrations/scalatest/MockitoFixture.scala
+++ b/core/src/main/scala/org/mockito/integrations/scalatest/MockitoFixture.scala
@@ -8,7 +8,5 @@ import org.mockito._
* Just mix-in after your favourite suite, i.e. {{{class MyTest extends WordSpec with MockitoFixture}}}
*
*/
-@deprecated(
- "Please use org.mockito.scalatest.MockitoSugar or org.mockito.scalatest.AsyncMockitoSugar from the mockito-scala-scalatest module",
- "1.3.0")
+@deprecated("Please use org.mockito.scalatest.MockitoSugar or org.mockito.scalatest.AsyncMockitoSugar from the mockito-scala-scalatest module", "1.3.0")
trait MockitoFixture extends MockitoSessionFixture with MockitoSugar with ArgumentMatchersSugar
diff --git a/macro/src/main/scala/org/mockito/DoSomethingMacro.scala b/macro/src/main/scala/org/mockito/DoSomethingMacro.scala
index 08e22e0e..ad3e95de 100644
--- a/macro/src/main/scala/org/mockito/DoSomethingMacro.scala
+++ b/macro/src/main/scala/org/mockito/DoSomethingMacro.scala
@@ -30,13 +30,11 @@ object DoSomethingMacro {
val r = c.Expr[S] {
c.macroApplication match {
- case q"$_.$cls[$_]($v).willBe($_.returnedF).by[$f, $s]($obj.$method[..$targs](...$args))(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$_]($v).willBe($_.returnedF).by[$f, $s]($obj.$method[..$targs](...$args))(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doReturnF[$f, $s]($v)($F).when($obj).$method[..$targs](...$newArgs)"
- case q"$_.$cls[$_]($v).willBe($_.returnedF).by[$f, $s]($obj.$method[..$targs])(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$_]($v).willBe($_.returnedF).by[$f, $s]($obj.$method[..$targs])(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doReturnF[$f, $s]($v)($F).when($obj).$method[..$targs]"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
@@ -51,13 +49,11 @@ object DoSomethingMacro {
val r = c.Expr[S] {
c.macroApplication match {
- case q"$_.$cls[$_]($v).willBe($_.returnedFG).by[$f, $g, $s]($obj.$method[..$targs](...$args))(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$_]($v).willBe($_.returnedFG).by[$f, $g, $s]($obj.$method[..$targs](...$args))(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doReturnFG[$f, $g, $s]($v)($F, $G).when($obj).$method[..$targs](...$newArgs)"
- case q"$_.$cls[$_]($v).willBe($_.returnedFG).by[$f, $g, $s]($obj.$method[..$targs])(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$_]($v).willBe($_.returnedFG).by[$f, $g, $s]($obj.$method[..$targs])(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doReturnFG[$f, $g, $s]($v)($F, $G).when($obj).$method[..$targs]"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
@@ -72,8 +68,7 @@ object DoSomethingMacro {
val r = c.Expr[S] {
c.macroApplication match {
- case q"$_.$cls[..$_]($v).willBe($_.answered).by[$_]($obj.$method[..$targs](...$args))($_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[..$_]($v).willBe($_.answered).by[$_]($obj.$method[..$targs](...$args))($_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.MockitoSugar.doAnswer($v).when($obj).$method[..$targs](...$newArgs)"
@@ -92,13 +87,11 @@ object DoSomethingMacro {
val r = c.Expr[S] {
c.macroApplication match {
- case q"$_.$cls[..$ftargs]($v).willBe($_.answeredF).by[$f, $_]($obj.$method[..$targs](...$args))(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[..$ftargs]($v).willBe($_.answeredF).by[$f, $_]($obj.$method[..$targs](...$args))(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doAnswerF[$f, ..$ftargs]($v).when($obj).$method[..$targs](...$newArgs)"
- case q"$_.$cls[..$ftargs]($v).willBe($_.answeredF).by[$f, $_]($obj.$method[..$targs])(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[..$ftargs]($v).willBe($_.answeredF).by[$f, $_]($obj.$method[..$targs])(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doAnswerF[$f, ..$ftargs]($v).when($obj).$method[..$targs]"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
@@ -113,13 +106,11 @@ object DoSomethingMacro {
val r = c.Expr[S] {
c.macroApplication match {
- case q"$_.$cls[..$ftargs]($v).willBe($_.answeredFG).by[$f, $g, $_]($obj.$method[..$targs](...$args))(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[..$ftargs]($v).willBe($_.answeredFG).by[$f, $g, $_]($obj.$method[..$targs](...$args))(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doAnswerFG[$f, $g, ..$ftargs]($v).when($obj).$method[..$targs](...$newArgs)"
- case q"$_.$cls[..$ftargs]($v).willBe($_.answeredFG).by[$f, $g, $_]($obj.$method[..$targs])(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[..$ftargs]($v).willBe($_.answeredFG).by[$f, $g, $_]($obj.$method[..$targs])(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doAnswerFG[$f, $g, ..$ftargs]($v).when($obj).$method[..$targs]"
case o => throw new Exception(s"Couldn't recognize answeredFG ${show(o)}")
@@ -153,8 +144,7 @@ object DoSomethingMacro {
val r = c.Expr[T] {
c.macroApplication match {
- case q"$_.$cls[$e]($v).willBe($_.raised).by[$f, $t]($obj.$method[..$targs](...$args))(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$e]($v).willBe($_.raised).by[$f, $t]($obj.$method[..$targs](...$args))(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doFailWith[$f, $e, $t]($v)($F).when($obj).$method[..$targs](...$newArgs)"
@@ -173,13 +163,11 @@ object DoSomethingMacro {
val r = c.Expr[T] {
c.macroApplication match {
- case q"$_.$cls[$e]($v).willBe($_.raisedG).by[$f, $g, $t]($obj.$method[..$targs](...$args))(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$e]($v).willBe($_.raisedG).by[$f, $g, $t]($obj.$method[..$targs](...$args))(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
val newArgs = args.map(a => transformArgs(c)(a))
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doFailWithG[$f, $g, $e, $t]($v)($F, $G).when($obj).$method[..$targs](...$newArgs)"
- case q"$_.$cls[$e]($v).willBe($_.raisedG).by[$f, $g, $t]($obj.$method[..$targs])(..$_)"
- if cls.toString.startsWith("DoSomethingOps") =>
+ case q"$_.$cls[$e]($v).willBe($_.raisedG).by[$f, $g, $t]($obj.$method[..$targs])(..$_)" if cls.toString.startsWith("DoSomethingOps") =>
q"_root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "Mockito")}.doFailWithG[$f, $g, $e, $t]($v)($F, $G).when($obj).$method[..$targs]"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
diff --git a/macro/src/main/scala/org/mockito/WhenMacro.scala b/macro/src/main/scala/org/mockito/WhenMacro.scala
index 4965c607..8e5c28ff 100644
--- a/macro/src/main/scala/org/mockito/WhenMacro.scala
+++ b/macro/src/main/scala/org/mockito/WhenMacro.scala
@@ -22,22 +22,18 @@ object WhenMacro {
case q"$_.StubbingOps[$t]($obj.$method[..$targs]).$m" if ShouldReturnOptions.contains(m.toString) =>
q"new _root_.org.mockito.IdiomaticMockitoBase.ReturnActions(_root_.org.mockito.Mockito.when[$t]($obj.$method[..$targs]))"
- case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m"
- if cls.toString.startsWith("StubbingOps") && FunctionalShouldReturnOptions.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m" if cls.toString.startsWith("StubbingOps") && FunctionalShouldReturnOptions.contains(m.toString) =>
val newArgs = args.map(a => transformArgs(c)(a))
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ReturnActions(_root_.org.mockito.Mockito.when($obj.$method[..$targs](...$newArgs)))"
- case q"$_.$cls[..$_]($obj.$method[..$targs]).$m"
- if cls.toString.startsWith("StubbingOps") && FunctionalShouldReturnOptions.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs]).$m" if cls.toString.startsWith("StubbingOps") && FunctionalShouldReturnOptions.contains(m.toString) =>
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ReturnActions(_root_.org.mockito.Mockito.when($obj.$method[..$targs]))"
- case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m"
- if cls.toString.startsWith("StubbingOps2") && FunctionalShouldReturnOptions2.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m" if cls.toString.startsWith("StubbingOps2") && FunctionalShouldReturnOptions2.contains(m.toString) =>
val newArgs = args.map(a => transformArgs(c)(a))
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ReturnActions2(_root_.org.mockito.Mockito.when($obj.$method[..$targs](...$newArgs)))"
- case q"$_.$cls[..$_]($obj.$method[..$targs]).$m"
- if cls.toString.startsWith("StubbingOps2") && FunctionalShouldReturnOptions2.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs]).$m" if cls.toString.startsWith("StubbingOps2") && FunctionalShouldReturnOptions2.contains(m.toString) =>
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ReturnActions2(_root_.org.mockito.Mockito.when($obj.$method[..$targs]))"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
@@ -103,22 +99,18 @@ object WhenMacro {
case q"$_.StubbingOps[$t]($obj.$method[..$targs]).$m" if ShouldThrowOptions.contains(m.toString) =>
q"new _root_.org.mockito.IdiomaticMockitoBase.ThrowActions(_root_.org.mockito.Mockito.when[$t]($obj.$method[..$targs]))"
- case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m"
- if cls.toString.startsWith("StubbingOps") && FunctionalShouldFailOptions.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m" if cls.toString.startsWith("StubbingOps") && FunctionalShouldFailOptions.contains(m.toString) =>
val newArgs = args.map(a => transformArgs(c)(a))
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ThrowActions(_root_.org.mockito.Mockito.when($obj.$method[..$targs](...$newArgs)))"
- case q"$_.$cls[..$_]($obj.$method[..$targs]).$m"
- if cls.toString.startsWith("StubbingOps") && FunctionalShouldFailOptions.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs]).$m" if cls.toString.startsWith("StubbingOps") && FunctionalShouldFailOptions.contains(m.toString) =>
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ThrowActions(_root_.org.mockito.Mockito.when($obj.$method[..$targs]))"
- case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m"
- if cls.toString.startsWith("StubbingOps2") && FunctionalShouldFailOptions2.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m" if cls.toString.startsWith("StubbingOps2") && FunctionalShouldFailOptions2.contains(m.toString) =>
val newArgs = args.map(a => transformArgs(c)(a))
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ThrowActions2(_root_.org.mockito.Mockito.when($obj.$method[..$targs](...$newArgs)))"
- case q"$_.$cls[..$_]($obj.$method[..$targs]).$m"
- if cls.toString.startsWith("StubbingOps2") && FunctionalShouldFailOptions2.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs]).$m" if cls.toString.startsWith("StubbingOps2") && FunctionalShouldFailOptions2.contains(m.toString) =>
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.ThrowActions2(_root_.org.mockito.Mockito.when($obj.$method[..$targs]))"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
@@ -170,22 +162,18 @@ object WhenMacro {
case q"$_.StubbingOps[$t]($obj.$method[..$targs]).$m" if ShouldAnswerOptions.contains(m.toString) =>
q"new _root_.org.mockito.WhenMacro.AnswerActions(_root_.org.mockito.Mockito.when[$t]($obj.$method[..$targs]))"
- case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m"
- if cls.toString.startsWith("StubbingOps") && FunctionalShouldAnswerOptions.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m" if cls.toString.startsWith("StubbingOps") && FunctionalShouldAnswerOptions.contains(m.toString) =>
val newArgs = args.map(a => transformArgs(c)(a))
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.AnswerActions(_root_.org.mockito.Mockito.when($obj.$method[..$targs](...$newArgs)))"
- case q"$_.$cls[..$_]($obj.$method[..$targs]).$m"
- if cls.toString.startsWith("StubbingOps") && FunctionalShouldAnswerOptions.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs]).$m" if cls.toString.startsWith("StubbingOps") && FunctionalShouldAnswerOptions.contains(m.toString) =>
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.AnswerActions(_root_.org.mockito.Mockito.when($obj.$method[..$targs]))"
- case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m"
- if cls.toString.startsWith("StubbingOps2") && FunctionalShouldAnswerOptions2.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs](...$args)).$m" if cls.toString.startsWith("StubbingOps2") && FunctionalShouldAnswerOptions2.contains(m.toString) =>
val newArgs = args.map(a => transformArgs(c)(a))
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.AnswerActions2(_root_.org.mockito.Mockito.when($obj.$method[..$targs](...$newArgs)))"
- case q"$_.$cls[..$_]($obj.$method[..$targs]).$m"
- if cls.toString.startsWith("StubbingOps2") && FunctionalShouldAnswerOptions2.contains(m.toString) =>
+ case q"$_.$cls[..$_]($obj.$method[..$targs]).$m" if cls.toString.startsWith("StubbingOps2") && FunctionalShouldAnswerOptions2.contains(m.toString) =>
q"new _root_.org.mockito.${packageName(c)(cls)}.${className(c)(cls, "IdiomaticMockito")}.AnswerActions2(_root_.org.mockito.Mockito.when($obj.$method[..$targs]))"
case o => throw new Exception(s"Couldn't recognize ${show(o)}")
diff --git a/scalatest/src/test/scala-2.11/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala b/scalatest/src/test/scala-2.11/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala
new file mode 100644
index 00000000..c8b41f03
--- /dev/null
+++ b/scalatest/src/test/scala-2.11/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala
@@ -0,0 +1,80 @@
+package user.org.mockito.stubbing
+
+import org.mockito.exceptions.base.MockitoException
+import org.mockito.{ DefaultAnswers, IdiomaticMockito }
+import org.scalatest.concurrent.ScalaFutures
+import org.scalatest.{ Matchers, OptionValues, TryValues, WordSpec }
+import user.org.mockito.stubbing.DefaultAnswerTest._
+
+import scala.collection.mutable
+import scala.collection.mutable.ListBuffer
+import scala.concurrent.Future
+import scala.util.{ Success, Try }
+
+class ReturnsEmptyValuesTest extends WordSpec with Matchers with IdiomaticMockito with TryValues with OptionValues with ScalaFutures {
+
+ class KnownTypes {
+ def returnsOption: Option[String] = Some("not mocked!")
+ def returnsList: List[String] = List("not mocked!")
+ def returnsSet: Set[String] = Set("not mocked!")
+ def returnsSeq: Seq[String] = Seq("not mocked!")
+ def returnsIterable: Iterable[String] = Iterable("not mocked!")
+ def returnsTraversable: Traversable[String] = Traversable("not mocked!")
+ def returnsIndexedSeq: IndexedSeq[String] = IndexedSeq("not mocked!")
+ def returnsIterator: Iterator[String] = Iterator("not mocked!")
+ def returnsStream: Stream[String] = Stream("not mocked!")
+ def returnsVector: Vector[String] = Vector("not mocked!")
+ def returnsEither: Either[Boolean, String] = Right("not mocked!")
+ def returnsTry: Try[String] = Success("not mocked!")
+ def returnsFuture: Future[String] = Future.successful("not mocked!")
+ def returnsBigDecimal: BigDecimal = BigDecimal(42)
+ def returnsBigInt: BigInt = BigInt(42)
+ def returnsStringBuilder: StringBuilder = StringBuilder.newBuilder.append("not mocked!")
+ def returnsMap: Map[String, Int] = Map("not mocked!" -> 42)
+ def returnsMutableSeq: mutable.Seq[String] = ListBuffer("not mocked!")
+ def returnsListBuffer: ListBuffer[String] = ListBuffer("not mocked!")
+ def returnsMutableSet: mutable.Set[String] = mutable.HashSet("not mocked!")
+ }
+
+ "ReturnsEmptyValues" should {
+ "return a default value for primitives" in {
+ val primitives = mock[Primitives](DefaultAnswers.ReturnsEmptyValues)
+
+ primitives.barByte shouldBe 0.toByte
+ primitives.barBoolean shouldBe false
+ primitives.barChar shouldBe 0
+ primitives.barDouble shouldBe 0
+ primitives.barInt shouldBe 0
+ primitives.barFloat shouldBe 0
+ primitives.barShort shouldBe 0
+ primitives.barLong shouldBe 0
+ }
+
+ "return the empty values for known classes" in {
+ val aMock = mock[KnownTypes](DefaultAnswers.ReturnsEmptyValues)
+
+ aMock.returnsOption shouldBe None
+ aMock.returnsList shouldBe List.empty
+ aMock.returnsSet shouldBe Set.empty
+ aMock.returnsSeq shouldBe Seq.empty
+ aMock.returnsIterable shouldBe Iterable.empty
+ aMock.returnsTraversable shouldBe Traversable.empty
+ aMock.returnsIndexedSeq shouldBe IndexedSeq.empty
+ aMock.returnsIterator shouldBe Iterator.empty
+ aMock.returnsStream shouldBe Stream.empty
+ aMock.returnsVector shouldBe Vector.empty
+ aMock.returnsTry.failure.exception shouldBe a[MockitoException]
+ aMock.returnsTry.failure.exception.getMessage shouldBe "Auto stub provided by mockito-scala"
+ aMock.returnsFuture.failed.value.value.success.value shouldBe a[MockitoException]
+ aMock.returnsFuture.failed.value.value.success.value.getMessage shouldBe "Auto stub provided by mockito-scala"
+ aMock.returnsBigDecimal shouldBe BigDecimal(0)
+ aMock.returnsBigInt shouldBe BigInt(0)
+ aMock.returnsStringBuilder shouldBe new StringBuilder
+ aMock.returnsEither shouldBe Left("Auto stub provided by mockito-scala")
+ aMock.returnsMap shouldBe Map.empty
+ aMock.returnsMutableSeq shouldBe ListBuffer.empty
+ aMock.returnsListBuffer shouldBe ListBuffer.empty
+ aMock.returnsMutableSet shouldBe mutable.HashSet.empty
+ }
+ }
+}
diff --git a/scalatest/src/test/scala-2.12/user/org/mockito/MockitoSugarTest_212.scala b/scalatest/src/test/scala-2.12/user/org/mockito/MockitoSugarTest_212.scala
index 56d7ccfc..9b731c8d 100644
--- a/scalatest/src/test/scala-2.12/user/org/mockito/MockitoSugarTest_212.scala
+++ b/scalatest/src/test/scala-2.12/user/org/mockito/MockitoSugarTest_212.scala
@@ -9,13 +9,7 @@ import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
//noinspection RedundantDefaultArgument
-class MockitoSugarTest_212
- extends WordSpec
- with MockitoSugar
- with Matchers
- with ArgumentMatchersSugar
- with TableDrivenPropertyChecks
- with ScalaFutures {
+class MockitoSugarTest_212 extends WordSpec with MockitoSugar with Matchers with ArgumentMatchersSugar with TableDrivenPropertyChecks with ScalaFutures {
val scenarios = Table(
("testDouble", "foo", "baz"),
diff --git a/scalatest/src/test/scala-2.12/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala b/scalatest/src/test/scala-2.12/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala
new file mode 100644
index 00000000..c8b41f03
--- /dev/null
+++ b/scalatest/src/test/scala-2.12/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala
@@ -0,0 +1,80 @@
+package user.org.mockito.stubbing
+
+import org.mockito.exceptions.base.MockitoException
+import org.mockito.{ DefaultAnswers, IdiomaticMockito }
+import org.scalatest.concurrent.ScalaFutures
+import org.scalatest.{ Matchers, OptionValues, TryValues, WordSpec }
+import user.org.mockito.stubbing.DefaultAnswerTest._
+
+import scala.collection.mutable
+import scala.collection.mutable.ListBuffer
+import scala.concurrent.Future
+import scala.util.{ Success, Try }
+
+class ReturnsEmptyValuesTest extends WordSpec with Matchers with IdiomaticMockito with TryValues with OptionValues with ScalaFutures {
+
+ class KnownTypes {
+ def returnsOption: Option[String] = Some("not mocked!")
+ def returnsList: List[String] = List("not mocked!")
+ def returnsSet: Set[String] = Set("not mocked!")
+ def returnsSeq: Seq[String] = Seq("not mocked!")
+ def returnsIterable: Iterable[String] = Iterable("not mocked!")
+ def returnsTraversable: Traversable[String] = Traversable("not mocked!")
+ def returnsIndexedSeq: IndexedSeq[String] = IndexedSeq("not mocked!")
+ def returnsIterator: Iterator[String] = Iterator("not mocked!")
+ def returnsStream: Stream[String] = Stream("not mocked!")
+ def returnsVector: Vector[String] = Vector("not mocked!")
+ def returnsEither: Either[Boolean, String] = Right("not mocked!")
+ def returnsTry: Try[String] = Success("not mocked!")
+ def returnsFuture: Future[String] = Future.successful("not mocked!")
+ def returnsBigDecimal: BigDecimal = BigDecimal(42)
+ def returnsBigInt: BigInt = BigInt(42)
+ def returnsStringBuilder: StringBuilder = StringBuilder.newBuilder.append("not mocked!")
+ def returnsMap: Map[String, Int] = Map("not mocked!" -> 42)
+ def returnsMutableSeq: mutable.Seq[String] = ListBuffer("not mocked!")
+ def returnsListBuffer: ListBuffer[String] = ListBuffer("not mocked!")
+ def returnsMutableSet: mutable.Set[String] = mutable.HashSet("not mocked!")
+ }
+
+ "ReturnsEmptyValues" should {
+ "return a default value for primitives" in {
+ val primitives = mock[Primitives](DefaultAnswers.ReturnsEmptyValues)
+
+ primitives.barByte shouldBe 0.toByte
+ primitives.barBoolean shouldBe false
+ primitives.barChar shouldBe 0
+ primitives.barDouble shouldBe 0
+ primitives.barInt shouldBe 0
+ primitives.barFloat shouldBe 0
+ primitives.barShort shouldBe 0
+ primitives.barLong shouldBe 0
+ }
+
+ "return the empty values for known classes" in {
+ val aMock = mock[KnownTypes](DefaultAnswers.ReturnsEmptyValues)
+
+ aMock.returnsOption shouldBe None
+ aMock.returnsList shouldBe List.empty
+ aMock.returnsSet shouldBe Set.empty
+ aMock.returnsSeq shouldBe Seq.empty
+ aMock.returnsIterable shouldBe Iterable.empty
+ aMock.returnsTraversable shouldBe Traversable.empty
+ aMock.returnsIndexedSeq shouldBe IndexedSeq.empty
+ aMock.returnsIterator shouldBe Iterator.empty
+ aMock.returnsStream shouldBe Stream.empty
+ aMock.returnsVector shouldBe Vector.empty
+ aMock.returnsTry.failure.exception shouldBe a[MockitoException]
+ aMock.returnsTry.failure.exception.getMessage shouldBe "Auto stub provided by mockito-scala"
+ aMock.returnsFuture.failed.value.value.success.value shouldBe a[MockitoException]
+ aMock.returnsFuture.failed.value.value.success.value.getMessage shouldBe "Auto stub provided by mockito-scala"
+ aMock.returnsBigDecimal shouldBe BigDecimal(0)
+ aMock.returnsBigInt shouldBe BigInt(0)
+ aMock.returnsStringBuilder shouldBe new StringBuilder
+ aMock.returnsEither shouldBe Left("Auto stub provided by mockito-scala")
+ aMock.returnsMap shouldBe Map.empty
+ aMock.returnsMutableSeq shouldBe ListBuffer.empty
+ aMock.returnsListBuffer shouldBe ListBuffer.empty
+ aMock.returnsMutableSet shouldBe mutable.HashSet.empty
+ }
+ }
+}
diff --git a/scalatest/src/test/scala-2.13/user/org/mockito/MockitoSugarTest_213.scala b/scalatest/src/test/scala-2.13/user/org/mockito/MockitoSugarTest_213.scala
index 5eb74c1f..97fac0bf 100644
--- a/scalatest/src/test/scala-2.13/user/org/mockito/MockitoSugarTest_213.scala
+++ b/scalatest/src/test/scala-2.13/user/org/mockito/MockitoSugarTest_213.scala
@@ -9,13 +9,7 @@ import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
//noinspection RedundantDefaultArgument
-class MockitoSugarTest_213
- extends WordSpec
- with MockitoSugar
- with Matchers
- with ArgumentMatchersSugar
- with TableDrivenPropertyChecks
- with ScalaFutures {
+class MockitoSugarTest_213 extends WordSpec with MockitoSugar with Matchers with ArgumentMatchersSugar with TableDrivenPropertyChecks with ScalaFutures {
val scenarios = Table(
("testDouble", "foo", "baz"),
diff --git a/scalatest/src/test/scala-2.13/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala b/scalatest/src/test/scala-2.13/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala
new file mode 100644
index 00000000..127cd601
--- /dev/null
+++ b/scalatest/src/test/scala-2.13/user/org/mockito/stubbing/ReturnsEmptyValuesTest.scala
@@ -0,0 +1,77 @@
+package user.org.mockito.stubbing
+
+import org.mockito.exceptions.base.MockitoException
+import org.mockito.{ DefaultAnswers, IdiomaticMockito }
+import org.scalatest.concurrent.ScalaFutures
+import org.scalatest.{ Matchers, OptionValues, TryValues, WordSpec }
+import user.org.mockito.stubbing.DefaultAnswerTest._
+
+import scala.collection.mutable
+import scala.collection.mutable.ListBuffer
+import scala.concurrent.Future
+import scala.util.{ Success, Try }
+
+class ReturnsEmptyValuesTest extends WordSpec with Matchers with IdiomaticMockito with TryValues with OptionValues with ScalaFutures {
+
+ class KnownTypes {
+ def returnsOption: Option[String] = Some("not mocked!")
+ def returnsList: List[String] = List("not mocked!")
+ def returnsSet: Set[String] = Set("not mocked!")
+ def returnsSeq: Seq[String] = Seq("not mocked!")
+ def returnsIterable: Iterable[String] = Iterable("not mocked!")
+ def returnsIndexedSeq: IndexedSeq[String] = IndexedSeq("not mocked!")
+ def returnsIterator: Iterator[String] = Iterator("not mocked!")
+ def returnsLazyList: LazyList[String] = LazyList("not mocked!")
+ def returnsVector: Vector[String] = Vector("not mocked!")
+ def returnsEither: Either[Boolean, String] = Right("not mocked!")
+ def returnsTry: Try[String] = Success("not mocked!")
+ def returnsFuture: Future[String] = Future.successful("not mocked!")
+ def returnsBigDecimal: BigDecimal = BigDecimal(42)
+ def returnsBigInt: BigInt = BigInt(42)
+ def returnsStringBuilder: StringBuilder = new StringBuilder().append("not mocked!")
+ def returnsMap: Map[String, Int] = Map("not mocked!" -> 42)
+ def returnsMutableSeq: mutable.Seq[String] = ListBuffer("not mocked!")
+ def returnsListBuffer: ListBuffer[String] = ListBuffer("not mocked!")
+ def returnsMutableSet: mutable.Set[String] = mutable.HashSet("not mocked!")
+ }
+
+ "ReturnsEmptyValues" should {
+ "return a default value for primitives" in {
+ val primitives = mock[Primitives](DefaultAnswers.ReturnsEmptyValues)
+
+ primitives.barByte shouldBe 0.toByte
+ primitives.barBoolean shouldBe false
+ primitives.barChar shouldBe 0
+ primitives.barDouble shouldBe 0
+ primitives.barInt shouldBe 0
+ primitives.barFloat shouldBe 0
+ primitives.barShort shouldBe 0
+ primitives.barLong shouldBe 0
+ }
+
+ "return the empty values for known classes" in {
+ val aMock = mock[KnownTypes](DefaultAnswers.ReturnsEmptyValues)
+
+ aMock.returnsOption shouldBe None
+ aMock.returnsList shouldBe List.empty
+ aMock.returnsSet shouldBe Set.empty
+ aMock.returnsSeq shouldBe Seq.empty
+ aMock.returnsIterable shouldBe Iterable.empty
+ aMock.returnsIndexedSeq shouldBe IndexedSeq.empty
+ aMock.returnsIterator shouldBe Iterator.empty
+ aMock.returnsVector shouldBe Vector.empty
+ aMock.returnsTry.failure.exception shouldBe a[MockitoException]
+ aMock.returnsTry.failure.exception.getMessage shouldBe "Auto stub provided by mockito-scala"
+ aMock.returnsFuture.failed.value.value.success.value shouldBe a[MockitoException]
+ aMock.returnsFuture.failed.value.value.success.value.getMessage shouldBe "Auto stub provided by mockito-scala"
+ aMock.returnsBigDecimal shouldBe BigDecimal(0)
+ aMock.returnsBigInt shouldBe BigInt(0)
+ aMock.returnsStringBuilder shouldBe new StringBuilder
+ aMock.returnsEither shouldBe Left("Auto stub provided by mockito-scala")
+ aMock.returnsMap shouldBe Map.empty
+ aMock.returnsMutableSeq shouldBe ListBuffer.empty
+ aMock.returnsListBuffer shouldBe ListBuffer.empty
+ aMock.returnsMutableSet shouldBe mutable.HashSet.empty
+ }
+ }
+}
diff --git a/scalatest/src/test/scala/user/org/mockito/DoSomethingTest.scala b/scalatest/src/test/scala/user/org/mockito/DoSomethingTest.scala
index f0d6973b..1792800e 100644
--- a/scalatest/src/test/scala/user/org/mockito/DoSomethingTest.scala
+++ b/scalatest/src/test/scala/user/org/mockito/DoSomethingTest.scala
@@ -81,7 +81,7 @@ class DoSomethingTest extends WordSpec with MockitoSugar with ScalaTestMatchers
"simplify answer API (invocation usage)" in {
val aMock = mock[Foo]
- doAnswer((i: InvocationOnMock) => ValueCaseClass(i.getArgument[Int](0) * 10 + i.getArgument[String](1).toInt))
+ doAnswer((i: InvocationOnMock) => ValueCaseClass(i.arg[Int](0) * 10 + i.arg[String](1).toInt))
.when(aMock)
.doSomethingWithThisIntAndString(*, *)
diff --git a/scalatest/src/test/scala/user/org/mockito/IdiomaticMockitoTest.scala b/scalatest/src/test/scala/user/org/mockito/IdiomaticMockitoTest.scala
index d487db37..9de5dd21 100644
--- a/scalatest/src/test/scala/user/org/mockito/IdiomaticMockitoTest.scala
+++ b/scalatest/src/test/scala/user/org/mockito/IdiomaticMockitoTest.scala
@@ -104,9 +104,7 @@ class IdiomaticMockitoTest extends WordSpec with Matchers with IdiomaticMockito
org.doSomethingWithThisInt(*) answers ((i: Int) => i * 10 + 2)
org.doSomethingWithThisIntAndString(*, *) answers ((i: Int, s: String) => (i * 10 + s.toInt).toString)
- org.doSomethingWithThisIntAndStringAndBoolean(*, *, *) answers ((i: Int,
- s: String,
- boolean: Boolean) => (i * 10 + s.toInt).toString + boolean)
+ org.doSomethingWithThisIntAndStringAndBoolean(*, *, *) answers ((i: Int, s: String, boolean: Boolean) => (i * 10 + s.toInt).toString + boolean)
org.doSomethingWithThisInt(4) shouldBe 42
org.doSomethingWithThisIntAndString(4, "2") shouldBe "42"
@@ -126,7 +124,7 @@ class IdiomaticMockitoTest extends WordSpec with Matchers with IdiomaticMockito
"simplify answer API (invocation usage)" in {
val org = orgDouble()
- org.doSomethingWithThisInt(*) answers ((i: InvocationOnMock) => i.getArgument[Int](0) * 10 + 2)
+ org.doSomethingWithThisInt(*) answers ((i: InvocationOnMock) => i.arg[Int](0) * 10 + 2)
org.doSomethingWithThisInt(4) shouldBe 42
}
@@ -143,8 +141,7 @@ class IdiomaticMockitoTest extends WordSpec with Matchers with IdiomaticMockito
"chain answers (invocation usage)" in {
val org = orgDouble()
- org.doSomethingWithThisInt(*) answers ((i: InvocationOnMock) => i.getArgument[Int](0) * 10 + 2) andThenAnswer (
- (i: InvocationOnMock) => i.getArgument[Int](0) * 15 + 9)
+ org.doSomethingWithThisInt(*) answers ((i: InvocationOnMock) => i.arg[Int](0) * 10 + 2) andThenAnswer ((i: InvocationOnMock) => i.arg[Int](0) * 15 + 9)
org.doSomethingWithThisInt(4) shouldBe 42
org.doSomethingWithThisInt(4) shouldBe 69
@@ -322,10 +319,10 @@ class IdiomaticMockitoTest extends WordSpec with Matchers with IdiomaticMockito
org.doSomethingWithThisIntAndString(1, "test")
- a[TooLittleActualInvocations] should be thrownBy {
+ a[TooFewActualInvocations] should be thrownBy {
org.doSomethingWithThisIntAndString(*, "test") wasCalled twice
}
- a[TooLittleActualInvocations] should be thrownBy {
+ a[TooFewActualInvocations] should be thrownBy {
org.doSomethingWithThisIntAndString(*, "test") wasCalled 2.times
}
@@ -349,13 +346,13 @@ class IdiomaticMockitoTest extends WordSpec with Matchers with IdiomaticMockito
org.doSomethingWithThisIntAndString(1, "test")
- a[TooLittleActualInvocations] should be thrownBy {
+ a[TooFewActualInvocations] should be thrownBy {
org.doSomethingWithThisIntAndString(*, "test") wasCalled atLeastTwice
}
- a[TooLittleActualInvocations] should be thrownBy {
+ a[TooFewActualInvocations] should be thrownBy {
org.doSomethingWithThisIntAndString(*, "test") wasCalled atLeast(twice)
}
- a[TooLittleActualInvocations] should be thrownBy {
+ a[TooFewActualInvocations] should be thrownBy {
org.doSomethingWithThisIntAndString(*, "test") wasCalled atLeast(2.times)
}
diff --git a/scalatest/src/test/scala/user/org/mockito/MockitoScalaSessionTest.scala b/scalatest/src/test/scala/user/org/mockito/MockitoScalaSessionTest.scala
index d3978955..fcbb64bd 100644
--- a/scalatest/src/test/scala/user/org/mockito/MockitoScalaSessionTest.scala
+++ b/scalatest/src/test/scala/user/org/mockito/MockitoScalaSessionTest.scala
@@ -9,21 +9,12 @@ import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.{ Matchers, OptionValues, WordSpec }
//noinspection RedundantDefaultArgument
-class MockitoScalaSessionTest
- extends WordSpec
- with IdiomaticMockito
- with Matchers
- with ArgumentMatchersSugar
- with OptionValues
- with TableDrivenPropertyChecks {
+class MockitoScalaSessionTest extends WordSpec with IdiomaticMockito with Matchers with ArgumentMatchersSugar with OptionValues with TableDrivenPropertyChecks {
val scenarios = Table(
("testDouble", "foo", "parametrisedFoo", "fooBar"),
("mock", () => mock[Foo], (mockSettings: MockSettings) => mock[Foo](mockSettings), ""),
- ("spy",
- () => spy(new Foo),
- (mockSettings: MockSettings) => spy(new Foo, mockSettings.asInstanceOf[CreationSettings[_]].isLenient),
- "bar")
+ ("spy", () => spy(new Foo), (mockSettings: MockSettings) => spy(new Foo, mockSettings.asInstanceOf[CreationSettings[_]].isLenient), "bar")
)
class FinalEqualsAndHashcode {
diff --git a/scalatest/src/test/scala/user/org/mockito/MockitoSugarTest.scala b/scalatest/src/test/scala/user/org/mockito/MockitoSugarTest.scala
index 6d6c933b..b70fad50 100644
--- a/scalatest/src/test/scala/user/org/mockito/MockitoSugarTest.scala
+++ b/scalatest/src/test/scala/user/org/mockito/MockitoSugarTest.scala
@@ -18,14 +18,7 @@ import user.org.mockito.model.JavaFoo
import scala.reflect.io.AbstractFile
//noinspection RedundantDefaultArgument
-class MockitoSugarTest
- extends WordSpec
- with MockitoSugar
- with Matchers
- with ArgumentMatchersSugar
- with EitherValues
- with OptionValues
- with TableDrivenPropertyChecks {
+class MockitoSugarTest extends WordSpec with MockitoSugar with Matchers with ArgumentMatchersSugar with EitherValues with OptionValues with TableDrivenPropertyChecks {
implicit val prettifier: Prettifier = new Prettifier {
override def apply(o: Any): String = o match {
@@ -36,13 +29,7 @@ class MockitoSugarTest
val scenarios = Table(
("testDouble", "foo", "higherKinded", "concreteHigherKinded", "fooWithBaz", "baz", "parametrisedTraitInt"),
- ("mock",
- () => mock[Foo],
- () => mock[HigherKinded[Option]],
- () => mock[ConcreteHigherKinded],
- () => mock[FooWithBaz],
- () => mock[Baz],
- () => mock[ParametrisedTraitInt]),
+ ("mock", () => mock[Foo], () => mock[HigherKinded[Option]], () => mock[ConcreteHigherKinded], () => mock[FooWithBaz], () => mock[Baz], () => mock[ParametrisedTraitInt]),
("spy",
() => spy(new Foo),
() => spy(new HigherKinded[Option]),
@@ -91,9 +78,8 @@ class MockitoSugarTest
"create a mock with nice answer API (multiple params)" in {
val aMock = foo()
- when(aMock.doSomethingWithThisIntAndString(*, *)) thenAnswer ((i: Int, s: String) => ValueCaseClass(i * 10 + s.toInt)) andThenAnswer (
- (i: Int,
- _: String) => ValueCaseClass(i))
+ when(aMock.doSomethingWithThisIntAndString(*, *)) thenAnswer ((i: Int, s: String) => ValueCaseClass(i * 10 + s.toInt)) andThenAnswer ((i: Int,
+ _: String) => ValueCaseClass(i))
aMock.doSomethingWithThisIntAndString(4, "2") shouldBe ValueCaseClass(42)
aMock.doSomethingWithThisIntAndString(4, "2") shouldBe ValueCaseClass(4)
@@ -282,8 +268,7 @@ class MockitoSugarTest
"create a mock with nice answer API (single param)" in {
val aMock = baz()
- when(aMock.traitMethod(*)) thenAnswer ((i: Int) => ValueCaseClass(i * 10 + 2)) andThenAnswer ((i: Int) =>
- ValueCaseClass(i * 10 + 3))
+ when(aMock.traitMethod(*)) thenAnswer ((i: Int) => ValueCaseClass(i * 10 + 2)) andThenAnswer ((i: Int) => ValueCaseClass(i * 10 + 3))
aMock.traitMethod(4) shouldBe ValueCaseClass(42)
aMock.traitMethod(4) shouldBe ValueCaseClass(43)
@@ -292,8 +277,8 @@ class MockitoSugarTest
"create a mock with nice answer API (invocation usage)" in {
val aMock = baz()
- when(aMock.traitMethod(*)) thenAnswer ((i: InvocationOnMock) => ValueCaseClass(i.getArgument[Int](0) * 10 + 2)) andThenAnswer (
- (i: InvocationOnMock) => ValueCaseClass(i.getArgument[Int](0) * 10 + 3))
+ when(aMock.traitMethod(*)) thenAnswer ((i: InvocationOnMock) => ValueCaseClass(i.arg[Int](0) * 10 + 2)) andThenAnswer ((i: InvocationOnMock) =>
+ ValueCaseClass(i.arg[Int](0) * 10 + 3))
aMock.traitMethod(4) shouldBe ValueCaseClass(42)
aMock.traitMethod(4) shouldBe ValueCaseClass(43)
diff --git a/scalatest/src/test/scala/user/org/mockito/TestModel.scala b/scalatest/src/test/scala/user/org/mockito/TestModel.scala
index d76c5ff9..597078d3 100644
--- a/scalatest/src/test/scala/user/org/mockito/TestModel.scala
+++ b/scalatest/src/test/scala/user/org/mockito/TestModel.scala
@@ -14,10 +14,9 @@ trait FooTrait {
def iHavePrimitiveByNameArgs(byName: => Int, normal: String): String = "not mocked"
- def iHaveByNameAndVarArgs(byName: => String, normal: String, byName2: => String, normal2: String, vararg: String*)(
- byName3: => String,
- normal3: String,
- vararg3: String*): String = "not mocked"
+ def iHaveByNameAndVarArgs(byName: => String, normal: String, byName2: => String, normal2: String, vararg: String*)(byName3: => String,
+ normal3: String,
+ vararg3: String*): String = "not mocked"
def iHaveFunction0Args(normal: String, f0: () => String): String = "not mocked"
diff --git a/scalatest/src/test/scala/user/org/mockito/stubbing/DefaultAnswerTest.scala b/scalatest/src/test/scala/user/org/mockito/stubbing/DefaultAnswerTest.scala
index 2285b9a9..d43de7c0 100644
--- a/scalatest/src/test/scala/user/org/mockito/stubbing/DefaultAnswerTest.scala
+++ b/scalatest/src/test/scala/user/org/mockito/stubbing/DefaultAnswerTest.scala
@@ -1,17 +1,13 @@
package user.org.mockito.stubbing
-import org.mockito.exceptions.base.MockitoException
+import org.mockito.IdiomaticMockito
import org.mockito.exceptions.verification.SmartNullPointerException
import org.mockito.stubbing.DefaultAnswer
-import org.mockito.{ DefaultAnswers, IdiomaticMockito }
import org.scalatest
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.{ OptionValues, TryValues, WordSpec }
import user.org.mockito.stubbing.DefaultAnswerTest._
-import scala.concurrent.Future
-import scala.util.{ Success, Try }
-
object DefaultAnswerTest {
class Foo {
def bar(a: String) = "bar"
@@ -31,25 +27,6 @@ object DefaultAnswerTest {
def callMeMaybe(): Unit = ()
}
- class KnownTypes {
- def returnsOption: Option[String] = Some("not mocked!")
- def returnsList: List[String] = List("not mocked!")
- def returnsSet: Set[String] = Set("not mocked!")
- def returnsSeq: Seq[String] = Seq("not mocked!")
- def returnsIterable: Iterable[String] = Iterable("not mocked!")
- def returnsTraversable: Traversable[String] = Traversable("not mocked!")
- def returnsIndexedSeq: IndexedSeq[String] = IndexedSeq("not mocked!")
- def returnsIterator: Iterator[String] = Iterator("not mocked!")
- def returnsStream: Stream[String] = Stream("not mocked!")
- def returnsVector: Vector[String] = Vector("not mocked!")
- def returnsEither: Either[Boolean, String] = Right("not mocked!")
- def returnsTry: Try[String] = Success("not mocked!")
- def returnsFuture: Future[String] = Future.successful("not mocked!")
- def returnsBigDecimal: BigDecimal = BigDecimal(42)
- def returnsBigInt: BigInt = BigInt(42)
- def returnsStringBuilder: StringBuilder = StringBuilder.newBuilder.append("not mocked!")
- }
-
class Primitives {
def barByte: Byte = 1.toByte
def barBoolean: Boolean = true
@@ -108,41 +85,4 @@ class DefaultAnswerTest extends WordSpec with scalatest.Matchers with IdiomaticM
aMock.valueClass.v shouldBe 0
}
}
-
- "ReturnsEmptyValues" should {
- "return a default value for primitives" in {
- val primitives = mock[Primitives](DefaultAnswers.ReturnsEmptyValues)
-
- primitives.barByte shouldBe 0.toByte
- primitives.barBoolean shouldBe false
- primitives.barChar shouldBe 0
- primitives.barDouble shouldBe 0
- primitives.barInt shouldBe 0
- primitives.barFloat shouldBe 0
- primitives.barShort shouldBe 0
- primitives.barLong shouldBe 0
- }
-
- "return the empty values for known classes" in {
- val aMock = mock[KnownTypes](DefaultAnswers.ReturnsEmptyValues)
-
- aMock.returnsOption shouldBe None
- aMock.returnsList shouldBe List.empty
- aMock.returnsSet shouldBe Set.empty
- aMock.returnsSeq shouldBe Seq.empty
- aMock.returnsIterable shouldBe Iterable.empty
- aMock.returnsTraversable shouldBe Traversable.empty
- aMock.returnsIndexedSeq shouldBe IndexedSeq.empty
- aMock.returnsIterator shouldBe Iterator.empty
- aMock.returnsStream shouldBe Stream.empty
- aMock.returnsVector shouldBe Vector.empty
- aMock.returnsTry.failure.exception shouldBe a[MockitoException]
- aMock.returnsTry.failure.exception.getMessage shouldBe "Auto stub provided by mockito-scala"
- aMock.returnsFuture.failed.value.value.success.value shouldBe a[MockitoException]
- aMock.returnsFuture.failed.value.value.success.value.getMessage shouldBe "Auto stub provided by mockito-scala"
- aMock.returnsBigDecimal shouldBe BigDecimal(0)
- aMock.returnsBigInt shouldBe BigInt(0)
- aMock.returnsStringBuilder shouldBe StringBuilder.newBuilder
- }
- }
}
diff --git a/scalaz/src/main/scala/org/mockito/scalaz/IdiomaticMockitoScalaz.scala b/scalaz/src/main/scala/org/mockito/scalaz/IdiomaticMockitoScalaz.scala
index b0a22ad6..7a1d9e01 100644
--- a/scalaz/src/main/scala/org/mockito/scalaz/IdiomaticMockitoScalaz.scala
+++ b/scalaz/src/main/scala/org/mockito/scalaz/IdiomaticMockitoScalaz.scala
@@ -178,23 +178,19 @@ object IdiomaticMockitoScalaz extends IdiomaticMockitoScalaz {
def apply[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] = os thenAnswer f
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] = os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
os thenAnswer f
}
class AnswerActions2[F[_], G[_], T](os: ScalazStubbing2[F, G, T]) {
def apply(f: => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] = os thenAnswer f
- def apply[P0](
- f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def apply[P0](f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
def apply[P0, P1](f: (P0, P1) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] = os thenAnswer f
@@ -207,27 +203,22 @@ object IdiomaticMockitoScalaz extends IdiomaticMockitoScalaz {
def apply[P0, P1, P2, P3, P4](f: (P0, P1, P2, P3, P4) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] = os thenAnswer f
+ def apply[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] = os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
- def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def apply[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F],
+ G: Applicative[G]): ScalazStubbing2[F, G, T] =
os thenAnswer f
}
}
diff --git a/scalaz/src/main/scala/org/mockito/scalaz/MockitoScalaz.scala b/scalaz/src/main/scala/org/mockito/scalaz/MockitoScalaz.scala
index b558a92a..f7e47a34 100644
--- a/scalaz/src/main/scala/org/mockito/scalaz/MockitoScalaz.scala
+++ b/scalaz/src/main/scala/org/mockito/scalaz/MockitoScalaz.scala
@@ -71,8 +71,7 @@ trait MockitoScalaz extends ScalacticSerialisableHack {
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].pure(_)))
def doAnswerF[F[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].pure(_)))
- def doAnswerF[F[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
+ def doAnswerF[F[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].pure(_)))
def doAnswerFG[F[_]: Applicative, G[_]: Applicative, R](l: => R): Stubber =
@@ -103,17 +102,13 @@ trait MockitoScalaz extends ScalacticSerialisableHack {
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure(_)))
def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, R](f: (P0, P1, P2, P3, P4, P5, P6) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure(_)))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, R](f: (P0, P1, P2, P3, P4, P5, P6, P7) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure(_)))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure(_)))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure(_)))
- def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
+ def doAnswerFG[F[_]: Applicative, G[_]: Applicative, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => R): Stubber =
Mockito.doAnswer(functionToAnswer(f).andThen(Applicative[F].compose[G].pure(_)))
implicit def scalazEquality[T: Equal]: Equality[T] = new EqToEquality[T]
diff --git a/scalaz/src/main/scala/org/mockito/scalaz/ScalazStubbing.scala b/scalaz/src/main/scala/org/mockito/scalaz/ScalazStubbing.scala
index 98880cf5..1de925d2 100644
--- a/scalaz/src/main/scala/org/mockito/scalaz/ScalazStubbing.scala
+++ b/scalaz/src/main/scala/org/mockito/scalaz/ScalazStubbing.scala
@@ -32,17 +32,13 @@ case class ScalazStubbing[F[_], T](delegate: OngoingStubbing[F[T]]) {
delegate thenAnswer functionToAnswer(f).andThen(F.pure(_))
def thenAnswer[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(
- implicit F: Applicative[F]): ScalazStubbing[F, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F]): ScalazStubbing[F, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.pure(_))
def thenFailWith[E](error: E)(implicit ae: MonadError[F, _ >: E]): ScalazStubbing[F, T] =
@@ -67,8 +63,7 @@ case class ScalazStubbing2[F[_], G[_], T](delegate: OngoingStubbing[F[G[T]]]) {
def thenAnswer(f: => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer invocationToAnswer(_ => f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0](
- f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0](f: P0 => T)(implicit classTag: ClassTag[P0] = defaultClassTag[P0], F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
clazz[P0] match {
case c if c == classOf[InvocationOnMock] =>
delegate thenAnswer invocationToAnswer(i => f(i.asInstanceOf[P0])).andThen(F.compose[G].pure(_))
@@ -81,26 +76,21 @@ case class ScalazStubbing2[F[_], G[_], T](delegate: OngoingStubbing[F[G[T]]]) {
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
def thenAnswer[P0, P1, P2, P3](f: (P0, P1, P2, P3) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4](f: (P0, P1, P2, P3, P4) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4](f: (P0, P1, P2, P3, P4) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5](f: (P0, P1, P2, P3, P4, P5) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6](f: (P0, P1, P2, P3, P4, P5, P6) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F],
- G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7](f: (P0, P1, P2, P3, P4, P5, P6, P7) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) => T)(implicit F: Applicative[F],
+ G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
- def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](
- f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F], G: Applicative[G]): ScalazStubbing2[F, G, T] =
+ def thenAnswer[P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10](f: (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) => T)(implicit F: Applicative[F],
+ G: Applicative[G]): ScalazStubbing2[F, G, T] =
delegate thenAnswer functionToAnswer(f).andThen(F.compose[G].pure(_))
def thenFailWith[E](error: E)(implicit ae: Applicative[F], ag: MonadError[G, _ >: E]): ScalazStubbing2[F, G, T] =
diff --git a/scalaz/src/test/scala/org/mockito/scalaz/DoSomethingScalazTest.scala b/scalaz/src/test/scala/org/mockito/scalaz/DoSomethingScalazTest.scala
index 572908ff..d34c0efb 100644
--- a/scalaz/src/test/scala/org/mockito/scalaz/DoSomethingScalazTest.scala
+++ b/scalaz/src/test/scala/org/mockito/scalaz/DoSomethingScalazTest.scala
@@ -107,7 +107,7 @@ class DoSomethingScalazTest
"mocked!" willBe answeredF by aMock.returnsOptionString("hello")
((s: String) => s + " mocked!") willBe answeredF by aMock.returnsOptionString("hi")
- ((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!") willBe answeredF by aMock.returnsOptionString("hola")
+ ((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!") willBe answeredF by aMock.returnsOptionString("hola")
((i: Int, b: Boolean) => s"$i, $b") willBe answeredF by aMock.returnsOptionFrom(42, true)
aMock.returnsOptionString("hello").value shouldBe "mocked!"
@@ -121,7 +121,7 @@ class DoSomethingScalazTest
ValueClass("mocked!") willBe answeredFG by aMock.returnsFutureEither("hello")
((s: String) => ValueClass(s + " mocked!")) willBe answeredFG by aMock.returnsFutureEither("hi")
- ((i: InvocationOnMock) => ValueClass(i.getArgument[String](0) + " invocation mocked!")) willBe answeredFG by aMock
+ ((i: InvocationOnMock) => ValueClass(i.arg[String](0) + " invocation mocked!")) willBe answeredFG by aMock
.returnsFutureEither("hola")
((i: Int, b: Boolean) => s"$i, $b") willBe answeredFG by aMock.returnsFutureOptionFrom(42, true)
diff --git a/scalaz/src/test/scala/org/mockito/scalaz/IdiomaticMockitoScalazTest.scala b/scalaz/src/test/scala/org/mockito/scalaz/IdiomaticMockitoScalazTest.scala
index 8c98cc19..19bcadbe 100644
--- a/scalaz/src/test/scala/org/mockito/scalaz/IdiomaticMockitoScalazTest.scala
+++ b/scalaz/src/test/scala/org/mockito/scalaz/IdiomaticMockitoScalazTest.scala
@@ -144,7 +144,7 @@ class IdiomaticMockitoScalazTest
aMock.returnsOptionString("hello") answersF "mocked!"
aMock.returnsOptionString("hi") answersF ((s: String) => s + " mocked!")
- aMock.returnsOptionString("hola") answersF ((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!")
+ aMock.returnsOptionString("hola") answersF ((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!")
aMock.returnsOptionFrom(42, true) answersF ((i: Int, b: Boolean) => s"$i, $b")
aMock.returnsOptionString("hello").value shouldBe "mocked!"
@@ -158,7 +158,7 @@ class IdiomaticMockitoScalazTest
aMock.returnsFutureEither("hello") answersFG ValueClass("mocked!")
aMock.returnsFutureEither("hi") answersFG ((s: String) => ValueClass(s + " mocked!"))
- aMock.returnsFutureEither("hola") answersFG ((i: InvocationOnMock) => ValueClass(i.getArgument[String](0) + " invocation mocked!"))
+ aMock.returnsFutureEither("hola") answersFG ((i: InvocationOnMock) => ValueClass(i.arg[String](0) + " invocation mocked!"))
aMock.returnsFutureOptionFrom(42, true) answersFG ((i: Int, b: Boolean) => s"$i, $b")
whenReady(aMock.returnsFutureEither("hello"))(_.right.value shouldBe ValueClass("mocked!"))
diff --git a/scalaz/src/test/scala/org/mockito/scalaz/MockitoScalazTest.scala b/scalaz/src/test/scala/org/mockito/scalaz/MockitoScalazTest.scala
index 45ca1701..1dad6be6 100644
--- a/scalaz/src/test/scala/org/mockito/scalaz/MockitoScalazTest.scala
+++ b/scalaz/src/test/scala/org/mockito/scalaz/MockitoScalazTest.scala
@@ -10,15 +10,7 @@ import org.scalatest.{ EitherValues, Matchers, OptionValues, WordSpec }
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
-class MockitoScalazTest
- extends WordSpec
- with Matchers
- with MockitoSugar
- with ArgumentMatchersSugar
- with MockitoScalaz
- with EitherValues
- with OptionValues
- with ScalaFutures {
+class MockitoScalazTest extends WordSpec with Matchers with MockitoSugar with ArgumentMatchersSugar with MockitoScalaz with EitherValues with OptionValues with ScalaFutures {
"when - return" should {
"stub full applicative" in {
@@ -129,7 +121,7 @@ class MockitoScalazTest
whenF(aMock.returnsOptionString("hello")) thenAnswer "mocked!"
whenF(aMock.returnsOptionString("hi")) thenAnswer ((s: String) => s + " mocked!")
- whenF(aMock.returnsOptionString("hola")) thenAnswer ((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!")
+ whenF(aMock.returnsOptionString("hola")) thenAnswer ((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!")
whenF(aMock.returnsOptionFrom(42, true)) thenAnswer ((i: Int, b: Boolean) => s"$i, $b")
aMock.returnsOptionString("hello").value shouldBe "mocked!"
@@ -143,8 +135,7 @@ class MockitoScalazTest
whenFG(aMock.returnsFutureEither("hello")) thenAnswer ValueClass("mocked!")
whenFG(aMock.returnsFutureEither("hi")) thenAnswer ((s: String) => ValueClass(s + " mocked!"))
- whenFG(aMock.returnsFutureEither("hola")) thenAnswer ((i: InvocationOnMock) =>
- ValueClass(i.getArgument[String](0) + " invocation mocked!"))
+ whenFG(aMock.returnsFutureEither("hola")) thenAnswer ((i: InvocationOnMock) => ValueClass(i.arg[String](0) + " invocation mocked!"))
whenFG(aMock.returnsFutureOptionFrom(42, true)) thenAnswer ((i: Int, b: Boolean) => s"$i, $b")
whenReady(aMock.returnsFutureEither("hello"))(_.right.value shouldBe ValueClass("mocked!"))
@@ -244,7 +235,7 @@ class MockitoScalazTest
doAnswerF[Option, String]("mocked!").when(aMock).returnsOptionString("hello")
doAnswerF[Option, String, String]((s: String) => s + " mocked!").when(aMock).returnsOptionString("hi")
- doAnswerF[Option, InvocationOnMock, String]((i: InvocationOnMock) => i.getArgument[String](0) + " invocation mocked!")
+ doAnswerF[Option, InvocationOnMock, String]((i: InvocationOnMock) => i.arg[String](0) + " invocation mocked!")
.when(aMock)
.returnsOptionString("hola")
doAnswerF[Option, Int, Boolean, String]((i: Int, b: Boolean) => s"$i, $b").when(aMock).returnsOptionFrom(42, true)
@@ -261,7 +252,7 @@ class MockitoScalazTest
doAnswerFG[Future, ErrorOr, ValueClass](ValueClass("mocked!")).when(aMock).returnsFutureEither("hello")
doAnswerFG[Future, ErrorOr, String, ValueClass]((s: String) => ValueClass(s + " mocked!")).when(aMock).returnsFutureEither("hi")
doAnswerFG[Future, ErrorOr, InvocationOnMock, ValueClass] { i: InvocationOnMock =>
- ValueClass(i.getArgument[String](0) + " invocation mocked!")
+ ValueClass(i.arg[String](0) + " invocation mocked!")
}.when(aMock)
.returnsFutureEither("hola")
doAnswerFG[Future, Option, Int, Boolean, String]((i: Int, b: Boolean) => s"$i, $b").when(aMock).returnsFutureOptionFrom(42, true)
diff --git a/specs2/src/main/scala/org/mockito/specs2/MockitoSpecs2Support.scala b/specs2/src/main/scala/org/mockito/specs2/MockitoSpecs2Support.scala
index ce7935b4..8e3abaea 100644
--- a/specs2/src/main/scala/org/mockito/specs2/MockitoSpecs2Support.scala
+++ b/specs2/src/main/scala/org/mockito/specs2/MockitoSpecs2Support.scala
@@ -78,13 +78,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
implicit def matcherToFunctionCall5[T1, T2, T3, T4, T5, R](values: ((T1, T2, T3, T4, T5), Matcher[R])): Function5[T1, T2, T3, T4, T5, R] =
callMatching5(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._2)
- def callMatching6[T1, T2, T3, T4, T5, T6, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- m: Matcher[R]): Function6[T1, T2, T3, T4, T5, T6, R] =
+ def callMatching6[T1, T2, T3, T4, T5, T6, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, m: Matcher[R]): Function6[T1, T2, T3, T4, T5, T6, R] =
argThat(m ^^ { (f: Function6[T1, T2, T3, T4, T5, T6, R]) =>
f(t1, t2, t3, t4, t5, t6)
})
@@ -92,35 +86,18 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
callMatching6(t1, t2, t3, t4, t5, t6, new BeEqualTo(r))
implicit def toFunctionCall6[T1, T2, T3, T4, T5, T6, R](values: ((T1, T2, T3, T4, T5, T6), R)): Function6[T1, T2, T3, T4, T5, T6, R] =
functionCall6(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._2)
- implicit def matcherToFunctionCall6[T1, T2, T3, T4, T5, T6, R](
- values: ((T1, T2, T3, T4, T5, T6), Matcher[R])): Function6[T1, T2, T3, T4, T5, T6, R] =
+ implicit def matcherToFunctionCall6[T1, T2, T3, T4, T5, T6, R](values: ((T1, T2, T3, T4, T5, T6), Matcher[R])): Function6[T1, T2, T3, T4, T5, T6, R] =
callMatching6(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._2)
- def callMatching7[T1, T2, T3, T4, T5, T6, T7, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- m: Matcher[R]): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
+ def callMatching7[T1, T2, T3, T4, T5, T6, T7, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, m: Matcher[R]): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
argThat(m ^^ { (f: Function7[T1, T2, T3, T4, T5, T6, T7, R]) =>
f(t1, t2, t3, t4, t5, t6, t7)
})
- def functionCall7[T1, T2, T3, T4, T5, T6, T7, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- r: R): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
+ def functionCall7[T1, T2, T3, T4, T5, T6, T7, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, r: R): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
callMatching7(t1, t2, t3, t4, t5, t6, t7, new BeEqualTo(r))
- implicit def toFunctionCall7[T1, T2, T3, T4, T5, T6, T7, R](
- values: ((T1, T2, T3, T4, T5, T6, T7), R)): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
+ implicit def toFunctionCall7[T1, T2, T3, T4, T5, T6, T7, R](values: ((T1, T2, T3, T4, T5, T6, T7), R)): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
functionCall7(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._2)
- implicit def matcherToFunctionCall7[T1, T2, T3, T4, T5, T6, T7, R](
- values: ((T1, T2, T3, T4, T5, T6, T7), Matcher[R])): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
+ implicit def matcherToFunctionCall7[T1, T2, T3, T4, T5, T6, T7, R](values: ((T1, T2, T3, T4, T5, T6, T7), Matcher[R])): Function7[T1, T2, T3, T4, T5, T6, T7, R] =
callMatching7(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._2)
def callMatching8[T1, T2, T3, T4, T5, T6, T7, T8, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, m: Matcher[R])
@@ -128,136 +105,48 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
argThat(m ^^ { (f: Function8[T1, T2, T3, T4, T5, T6, T7, T8, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8)
})
- def functionCall8[T1, T2, T3, T4, T5, T6, T7, T8, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, r: R)
- : Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] = callMatching8(t1, t2, t3, t4, t5, t6, t7, t8, new BeEqualTo(r))
- implicit def toFunctionCall8[T1, T2, T3, T4, T5, T6, T7, T8, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8), R)): Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] =
+ def functionCall8[T1, T2, T3, T4, T5, T6, T7, T8, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, r: R): Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] =
+ callMatching8(t1, t2, t3, t4, t5, t6, t7, t8, new BeEqualTo(r))
+ implicit def toFunctionCall8[T1, T2, T3, T4, T5, T6, T7, T8, R](values: ((T1, T2, T3, T4, T5, T6, T7, T8), R)): Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] =
functionCall8(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._1._8, values._2)
- implicit def matcherToFunctionCall8[T1, T2, T3, T4, T5, T6, T7, T8, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8), Matcher[R])): Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] =
+ implicit def matcherToFunctionCall8[T1, T2, T3, T4, T5, T6, T7, T8, R](values: ((T1, T2, T3, T4, T5, T6, T7, T8), Matcher[R])): Function8[T1, T2, T3, T4, T5, T6, T7, T8, R] =
callMatching8(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._1._8, values._2)
- def callMatching9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- m: Matcher[R]): Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] =
+ def callMatching9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, m: Matcher[R])
+ : Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] =
argThat(m ^^ { (f: Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9)
})
def functionCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, r: R)
: Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] = callMatching9(t1, t2, t3, t4, t5, t6, t7, t8, t9, new BeEqualTo(r))
- implicit def toFunctionCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9), R)): Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] =
- functionCall9(values._1._1,
- values._1._2,
- values._1._3,
- values._1._4,
- values._1._5,
- values._1._6,
- values._1._7,
- values._1._8,
- values._1._9,
- values._2)
+ implicit def toFunctionCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9), R)): Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] =
+ functionCall9(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._1._8, values._1._9, values._2)
implicit def matcherToFunctionCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](
values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9), Matcher[R])): Function9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R] =
- callMatching9(values._1._1,
- values._1._2,
- values._1._3,
- values._1._4,
- values._1._5,
- values._1._6,
- values._1._7,
- values._1._8,
- values._1._9,
- values._2)
+ callMatching9(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._1._8, values._1._9, values._2)
- def callMatching10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- m: Matcher[R]): Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] =
+ def callMatching10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, t10: T10, m: Matcher[R])
+ : Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] =
argThat(m ^^ { (f: Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)
})
- def functionCall10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- r: R): Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] =
+ def functionCall10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, t10: T10, r: R)
+ : Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] =
callMatching10(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, new BeEqualTo(r))
implicit def toFunctionCall10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](
values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), R)): Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] =
- functionCall10(values._1._1,
- values._1._2,
- values._1._3,
- values._1._4,
- values._1._5,
- values._1._6,
- values._1._7,
- values._1._8,
- values._1._9,
- values._1._10,
- values._2)
+ functionCall10(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._1._8, values._1._9, values._1._10, values._2)
implicit def matcherToFunctionCall10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](
values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), Matcher[R])): Function10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R] =
- callMatching10(values._1._1,
- values._1._2,
- values._1._3,
- values._1._4,
- values._1._5,
- values._1._6,
- values._1._7,
- values._1._8,
- values._1._9,
- values._1._10,
- values._2)
+ callMatching10(values._1._1, values._1._2, values._1._3, values._1._4, values._1._5, values._1._6, values._1._7, values._1._8, values._1._9, values._1._10, values._2)
- def callMatching11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- m: Matcher[R]): Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] =
+ def callMatching11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, t10: T10, t11: T11, m: Matcher[R])
+ : Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] =
argThat(m ^^ { (f: Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)
})
- def functionCall11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- r: R): Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] =
+ def functionCall11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, t10: T10, t11: T11, r: R)
+ : Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] =
callMatching11(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, new BeEqualTo(r))
implicit def toFunctionCall11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](
values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), R)): Function11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R] =
@@ -292,37 +181,35 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
- def callMatching12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- m: Matcher[R]): Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
+ def callMatching12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ m: Matcher[R]): Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
argThat(m ^^ { (f: Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12)
})
- def functionCall12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- r: R): Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
+ def functionCall12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ r: R): Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
callMatching12(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, new BeEqualTo(r))
implicit def toFunctionCall12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](
values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), R)): Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
@@ -342,8 +229,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
implicit def matcherToFunctionCall12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), Matcher[R]))
- : Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), Matcher[R])): Function12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R] =
callMatching12(
values._1._1,
values._1._2,
@@ -360,43 +246,40 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
- def callMatching13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- t13: T13,
- m: Matcher[R]): Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
+ def callMatching13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ t13: T13,
+ m: Matcher[R]): Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
argThat(m ^^ { (f: Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13)
})
- def functionCall13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- t13: T13,
- r: R): Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
+ def functionCall13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ t13: T13,
+ r: R): Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
callMatching13(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, new BeEqualTo(r))
implicit def toFunctionCall13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), R))
- : Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), R)): Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
functionCall13(
values._1._1,
values._1._2,
@@ -414,8 +297,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
implicit def matcherToFunctionCall13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), Matcher[R]))
- : Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), Matcher[R])): Function13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R] =
callMatching13(
values._1._1,
values._1._2,
@@ -433,45 +315,42 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
- def callMatching14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- t13: T13,
- t14: T14,
- m: Matcher[R]): Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
+ def callMatching14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ t13: T13,
+ t14: T14,
+ m: Matcher[R]): Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
argThat(m ^^ { (f: Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14)
})
- def functionCall14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- t13: T13,
- t14: T14,
- r: R): Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
+ def functionCall14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ t13: T13,
+ t14: T14,
+ r: R): Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
callMatching14(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, new BeEqualTo(r))
implicit def toFunctionCall14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), R))
- : Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), R)): Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
functionCall14(
values._1._1,
values._1._2,
@@ -490,8 +369,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
implicit def matcherToFunctionCall14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), Matcher[R]))
- : Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), Matcher[R])): Function14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R] =
callMatching14(
values._1._1,
values._1._2,
@@ -530,27 +408,25 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
argThat(m ^^ { (f: Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R]) =>
f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15)
})
- def functionCall15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R](
- t1: T1,
- t2: T2,
- t3: T3,
- t4: T4,
- t5: T5,
- t6: T6,
- t7: T7,
- t8: T8,
- t9: T9,
- t10: T10,
- t11: T11,
- t12: T12,
- t13: T13,
- t14: T14,
- t15: T15,
- r: R): Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] =
+ def functionCall15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R](t1: T1,
+ t2: T2,
+ t3: T3,
+ t4: T4,
+ t5: T5,
+ t6: T6,
+ t7: T7,
+ t8: T8,
+ t9: T9,
+ t10: T10,
+ t11: T11,
+ t12: T12,
+ t13: T13,
+ t14: T14,
+ t15: T15,
+ r: R): Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] =
callMatching15(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, new BeEqualTo(r))
implicit def toFunctionCall15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), R))
- : Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), R)): Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] =
functionCall15(
values._1._1,
values._1._2,
@@ -570,8 +446,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._2
)
implicit def matcherToFunctionCall15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), Matcher[R]))
- : Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), Matcher[R])): Function15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R] =
callMatching15(
values._1._1,
values._1._2,
@@ -632,8 +507,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
r: R): Function16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R] =
callMatching16(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, new BeEqualTo(r))
implicit def toFunctionCall16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R](
- values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16), R))
- : Function16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R] =
+ values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16), R)): Function16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R] =
functionCall16(
values._1._1,
values._1._2,
@@ -1185,9 +1059,8 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
t21: T21,
t22: T22,
m: Matcher[R]): Function22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R] =
- argThat(m ^^ {
- (f: Function22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R]) =>
- f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22)
+ argThat(m ^^ { (f: Function22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R]) =>
+ f(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22)
})
def functionCall22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R](
t1: T1,
@@ -1242,29 +1115,7 @@ trait FunctionArguments extends FunctionArgumentsLowImplicits {
values._1._22,
values._2
)
- implicit def matcherToFunctionCall22[T1,
- T2,
- T3,
- T4,
- T5,
- T6,
- T7,
- T8,
- T9,
- T10,
- T11,
- T12,
- T13,
- T14,
- T15,
- T16,
- T17,
- T18,
- T19,
- T20,
- T21,
- T22,
- R](
+ implicit def matcherToFunctionCall22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R](
values: ((T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22), Matcher[R]))
: Function22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R] =
callMatching22(