diff --git a/build.sbt b/build.sbt index 3f6a698..9c159f9 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ lazy val fpinscala = (project in file(".")) organization := "org.scala-exercises", name := "exercises-fpinscala", scalaVersion := "2.11.8", - version := "0.2.1-SNAPSHOT", + version := "0.2.2-SNAPSHOT", resolvers ++= Seq( Resolver.sonatypeRepo("snapshots"), Resolver.sonatypeRepo("releases") diff --git a/src/test/scala/exercises/Test.scala b/src/test/scala/exercises/Test.scala deleted file mode 100644 index 1278d86..0000000 --- a/src/test/scala/exercises/Test.scala +++ /dev/null @@ -1,56 +0,0 @@ -package exercises - -import cats.data.Xor - -import shapeless._ -import shapeless.ops.function._ - -import org.scalacheck.{ Prop, Arbitrary } -import org.scalacheck.Gen -import Prop.forAll - -import org.scalatest.Spec -import org.scalatest.exceptions._ -import org.scalatest.prop.Checkers - -import org.scalacheck.Shapeless._ - -object Test { - - def testSuccess[F, R, L <: HList](method: F, answer: L)( - implicit - A: Arbitrary[L], - fntop: FnToProduct.Aux[F, L ⇒ R] - ): Prop = { - val rightGen = genRightAnswer(answer) - val rightProp = forAll(rightGen)({ p ⇒ - - val result = Xor.catchOnly[GeneratorDrivenPropertyCheckFailedException]({ fntop(method)(p) }) - result match { - case Xor.Left(exc) ⇒ exc.cause match { - case Some(originalException) ⇒ throw originalException - case _ ⇒ false - } - case _ ⇒ true - } - }) - - val wrongGen = genWrongAnswer(answer) - val wrongProp = forAll(wrongGen)({ p ⇒ - Xor.catchNonFatal({ fntop(method)(p) }).isLeft - }) - - Prop.all(rightProp, wrongProp) - } - - def genRightAnswer[L <: HList](answer: L): Gen[L] = { - Gen.const(answer) - } - - def genWrongAnswer[L <: HList](l: L)( - implicit - A: Arbitrary[L] - ): Gen[L] = { - A.arbitrary.suchThat(_ != l) - } -} \ No newline at end of file diff --git a/src/test/scala/exercises/fpinscala/GettingStartedWithFPSpec.scala b/src/test/scala/fpinscalalib/GettingStartedWithFPSpec.scala similarity index 86% rename from src/test/scala/exercises/fpinscala/GettingStartedWithFPSpec.scala rename to src/test/scala/fpinscalalib/GettingStartedWithFPSpec.scala index 01f29f4..ea937fb 100644 --- a/src/test/scala/exercises/fpinscala/GettingStartedWithFPSpec.scala +++ b/src/test/scala/fpinscalalib/GettingStartedWithFPSpec.scala @@ -1,12 +1,11 @@ -package exercises +package fpinscalalib -import fpinscalalib._ -import fpinscalalib.GettingStartedWithFPSection -import shapeless.HNil -import org.scalatest.Spec -import org.scalatest.prop.Checkers import org.scalacheck.Shapeless._ import org.scalacheck.{Arbitrary, Gen} +import org.scalaexercises.Test +import org.scalatest.Spec +import org.scalatest.prop.Checkers +import shapeless.HNil class GettingStartedWithFPSpec extends Spec with Checkers { def `fibonacci asserts` = {