diff --git a/build.sbt b/build.sbt index 9ea52a1..fcdc7f6 100755 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ lazy val scalacheck = (project in file(".")) organization := "org.scala-exercises", name := "exercises-scalacheck", scalaVersion := "2.11.7", - 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/scalachecklib/Test.scala b/src/test/scala/exercises/scalachecklib/Test.scala deleted file mode 100755 index 204c95f..0000000 --- a/src/test/scala/exercises/scalachecklib/Test.scala +++ /dev/null @@ -1,54 +0,0 @@ -package exercises.scalachecklib - -import cats.data.Xor - -import shapeless._ -import shapeless.ops.function._ - -import org.scalacheck.{Prop, Arbitrary } -import org.scalacheck.Gen -import org.scalacheck.Shapeless._ -import org.scalatest.exceptions._ - -import Prop.forAll - -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) - } -} - diff --git a/src/test/scala/exercises/scalachecklib/ArbitrarySpec.scala b/src/test/scala/scalachecklib/ArbitrarySpec.scala similarity index 90% rename from src/test/scala/exercises/scalachecklib/ArbitrarySpec.scala rename to src/test/scala/scalachecklib/ArbitrarySpec.scala index b11cd33..54d863e 100644 --- a/src/test/scala/exercises/scalachecklib/ArbitrarySpec.scala +++ b/src/test/scala/scalachecklib/ArbitrarySpec.scala @@ -1,12 +1,11 @@ -package exercises.scalachecklib +package scalachecklib import org.scalacheck.Shapeless._ +import org.scalaexercises.Test import org.scalatest.Spec import org.scalatest.prop.Checkers import shapeless.HNil -import scalachecklib.ArbitrarySection - class ArbitrarySpec extends Spec with Checkers { def `implicit arbitrary char` = { diff --git a/src/test/scala/exercises/scalachecklib/GeneratorsSpec.scala b/src/test/scala/scalachecklib/GeneratorsSpec.scala similarity index 94% rename from src/test/scala/exercises/scalachecklib/GeneratorsSpec.scala rename to src/test/scala/scalachecklib/GeneratorsSpec.scala index 224c539..69de8c3 100644 --- a/src/test/scala/exercises/scalachecklib/GeneratorsSpec.scala +++ b/src/test/scala/scalachecklib/GeneratorsSpec.scala @@ -1,12 +1,11 @@ -package exercises.scalachecklib +package scalachecklib import org.scalacheck.Shapeless._ +import org.scalaexercises.Test import org.scalatest.Spec import org.scalatest.prop.Checkers import shapeless.HNil -import scalachecklib.GeneratorsSection - class GeneratorsSpec extends Spec with Checkers { def `for-comprehension generator` = { diff --git a/src/test/scala/exercises/scalachecklib/PropertiesSpec.scala b/src/test/scala/scalachecklib/PropertiesSpec.scala similarity index 93% rename from src/test/scala/exercises/scalachecklib/PropertiesSpec.scala rename to src/test/scala/scalachecklib/PropertiesSpec.scala index 0997e79..f24018e 100644 --- a/src/test/scala/exercises/scalachecklib/PropertiesSpec.scala +++ b/src/test/scala/scalachecklib/PropertiesSpec.scala @@ -1,12 +1,11 @@ -package exercises.scalachecklib +package scalachecklib import org.scalacheck.Shapeless._ +import org.scalaexercises.Test import org.scalatest.Spec import org.scalatest.prop.Checkers import shapeless.HNil -import scalachecklib.PropertiesSection - class PropertiesSpec extends Spec with Checkers {