Scala: DateTime型のプロパティテスト
Specs2 + ScalaCheck の例。
依存ライブラリ
libraryDependencies ++= Seq( "com.github.nscala-time" %% "nscala-time" % "1.8.0", "org.specs2" %% "specs2-core" % "3.4" % "test", "org.scalacheck" %% "scalacheck" % "1.12.2" % "test" )
実装例
Arbitrary ベース
import com.github.nscala_time.time.Imports.DateTime
import org.scalacheck.{Gen, Arbitrary}
import org.specs2.ScalaCheck
import org.specs2.mutable.Specification
class DateTimeSpec extends Specification with ScalaCheck {
implicit val arbDateTime: Arbitrary[DateTime] =
Arbitrary(Gen.choose(0L, Long.MaxValue).map(new DateTime(_)))
"DateTime" should {
"do something" in prop { t: DateTime =>
t must ??? // write tests here
}
}
}
Gen ベース
import com.github.nscala_time.time.Imports.DateTime
import org.scalacheck.{Gen, Prop}
import org.specs2.ScalaCheck
import org.specs2.mutable.Specification
class DateTimeSpec extends Specification with ScalaCheck {
private val genDateTime = Gen.choose(0L, Long.MaxValue).map(new DateTime(_))
"DateTime" should {
"do something" in Prop.forAll(genDateTime) { t: DateTime =>
t must ??? // write tests here
}
}
}
0 件のコメント:
コメントを投稿