diff --git a/macrosCatsEffectTests/src/test/resources/test-cases/resourceFactoryWithParameters.success b/macrosCatsEffectTests/src/test/resources/test-cases/resourceFactoryWithParameters.success new file mode 100644 index 00000000..db73e5a2 --- /dev/null +++ b/macrosCatsEffectTests/src/test/resources/test-cases/resourceFactoryWithParameters.success @@ -0,0 +1,23 @@ +import com.softwaremill.macwire.catseffectsupport._ + +#include commonSimpleClasses +import cats.effect._ + +val factoryParams = scala.collection.mutable.ListBuffer[B]() + +object Test { + def theA(b: B): A = { factoryParams.append(b); A() } + val theB: Resource[IO, B] = Resource.pure(B()) + val theC: Resource[IO, C] = wireApp[C](theA _, theB) +} + +val theC: C = { + import cats.effect.unsafe.implicits.global + Test.theC.allocated.unsafeRunSync()._1 +} + +require(theC.a != null) +require(theC.b != null) + +require(factoryParams.length == 1) +require(factoryParams.head eq theC.b) diff --git a/macrosCatsEffectTests/src/test/resources/test-cases/resourceMultiLevelProvidedParameter.success b/macrosCatsEffectTests/src/test/resources/test-cases/resourceMultiLevelProvidedParameter.success index 2639a2a8..71966052 100644 --- a/macrosCatsEffectTests/src/test/resources/test-cases/resourceMultiLevelProvidedParameter.success +++ b/macrosCatsEffectTests/src/test/resources/test-cases/resourceMultiLevelProvidedParameter.success @@ -6,7 +6,7 @@ import cats.effect._ val allocated = scala.collection.mutable.ListBuffer[String]() object Test { - val theA: Resource[IO, A] = Resource.make(IO { allocated.addOne("A"); A() })(_ => IO.unit) + val theA: Resource[IO, A] = Resource.make(IO { allocated.append("A"); A() })(_ => IO.unit) val theE: Resource[IO, E] = wireApp[E](theA) } diff --git a/macrosCatsEffectTests/src/test/resources/test-cases/factoryWithParameterFromResource.success b/macrosCatsEffectTests/src/test/resources/test-cases/todo/factoryWithParameterFromResource.success similarity index 85% rename from macrosCatsEffectTests/src/test/resources/test-cases/factoryWithParameterFromResource.success rename to macrosCatsEffectTests/src/test/resources/test-cases/todo/factoryWithParameterFromResource.success index 3a9b5424..d6dac193 100644 --- a/macrosCatsEffectTests/src/test/resources/test-cases/factoryWithParameterFromResource.success +++ b/macrosCatsEffectTests/src/test/resources/test-cases/todo/factoryWithParameterFromResource.success @@ -6,7 +6,7 @@ import cats.effect._ val factoryParams = scala.collection.mutable.ListBuffer[B]() object Test { - def theA(b: B): A = { factoryParams.addOne(b); A() } + def theA(b: B): Resource[IO, A] = { factoryParams.append(b); Resource.pure(A()) } val theB: Resource[IO, B] = Resource.pure(B()) val theC: Resource[IO, C] = wireApp[C](theA _, theB) }