- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为作业的一部分,我正在使用 Scalacheck 来查找缺陷。令人难以置信的是,我被卡住了,因为它正在生成一对非零整数。
从我的 IntelliJ 工作表中,逐字逐句:
import org.scalacheck._
import Arbitrary._
import Gen._
import Prop._
implicit lazy val genUnequalIntPairs = for {
i <- Gen.choose(1,1000)
j <- Gen.choose(i+1,1000)
if (i < j)
} yield (i,j)
val kk = forAll (genUnequalIntPairs) {
case (x,y) => println("x =" + x + ", y =" + y)
x == y
}
kk.check
x =134, y =547
x =0, y =547
x =0, y =0
x =0, y =274
x =0, y =0
x =0, y =137
x =0, y =0
x =0, y =69
x =0, y =0
x =0, y =35
x =0, y =0
x =0, y =18
x =0, y =0
x =0, y =9
x =0, y =0
x =0, y =5
x =0, y =0
x =0, y =3
x =0, y =0
x =0, y =2
x =0, y =0
x =0, y =1
x =0, y =0
! Falsified after 0 passed tests.
> ARG_0: (0,1)
> ARG_0_ORIGINAL: (134,547)
res0: Unit = ()
Seq("org.scalacheck" %% "scalacheck" % "1.12.1")
implicit lazy val genUnequalIntPairs = for {
i <- Gen.choose(1,1000).suchThat(_ > 0)
j <- Gen.choose(i+1,1000).suchThat(_ > 0)
if (i < j)
} yield (i,j)
val kk = forAll (genUnequalIntPairs) {
case (x,y) => println("x =" + x + ", y =" + y)
x == y
}
kk.check
x =536, y =730
x =0, y =730
x =0, y =0
x =0, y =365
x =0, y =0
x =0, y =183
x =0, y =0
x =0, y =92
x =0, y =0
x =0, y =46
x =0, y =0
x =0, y =23
x =0, y =0
x =0, y =12
x =0, y =0
x =0, y =6
x =0, y =0
x =0, y =3
x =0, y =0
x =0, y =2
x =0, y =0
x =0, y =1
x =0, y =0
! Falsified after 0 passed tests.
> ARG_0: (0,1)
> ARG_0_ORIGINAL: (536,730)
res0: Unit = ()
implicit lazy val genUnequalIntPairs = for {
i <- Gen.choose(1,1000)
j <- Gen.choose(i+1,1000)
if (i != 0 && j != 0)
} yield {
(i,j)
}
val kk = forAllNoShrink(genUnequalIntPairs) {
case (x,y) => println("x =" + x + ", y =" + y)
x < y
}
kk.check
x =805, y =1000
x =742, y =926
x =772, y =919
x =219, y =686
x =999, y =1000
x =752, y =792
x =163, y =585
x =721, y =735
x =251, y =866
x =383, y =887
x =797, y =939
x =925, y =947
x =291, y =951
x =502, y =619
x =422, y =756
x =159, y =886
x =49, y =955
x =624, y =819
x =922, y =979
x =881, y =894
x =936, y =952
x =908, y =975
x =802, y =976
x =918, y =946
x =564, y =823
x =544, y =751
x =916, y =938
x =57, y =762
x =614, y =963
x =497, y =986
x =102, y =332
x =264, y =643
x =611, y =720
x =542, y =797
x =704, y =784
Output exceeds cutoff limit.
implicit lazy val genUnequalIntPairs = for {
i <- Gen.choose(1,1000)
j <- Gen.choose(1,1000)
if (i < j)
} yield {
(i,j)
}
val kk = forAll(genUnequalIntPairs) {
case (x,y) => println("x =" + x + ", y =" + y)
x < y
}
kk.check
x =56, y =752
x =395, y =532
x =468, y =828
x =326, y =749
x =203, y =973
x =294, y =393
x =589, y =975
x =44, y =75
x =406, y =533
x =33, y =381
x =405, y =767
x =13, y =883
x =201, y =341
x =593, y =991
x =636, y =913
x =508, y =782
x =333, y =861
x =306, y =863
x =428, y =537
x =373, y =775
x =74, y =462
x =196, y =299
x =245, y =535
x =312, y =993
x =940, y =989
x =12, y =708
implicit lazy val genUnequalIntPairs = for {
i <- Gen.choose(1,1000)
j <- Gen.choose(1,1000)
if (i < j)
} yield {
(i,j)
}
val kk = forAll(genUnequalIntPairs) {
case (x,y) => println("x =" + x + ", y =" + y)
x == y
}
kk.check
x =370, y =585
x =0, y =585
x =0, y =0
x =0, y =293
x =0, y =0
x =0, y =147
x =0, y =0
x =0, y =74
x =0, y =0
x =0, y =37
x =0, y =0
x =0, y =19
x =0, y =0
x =0, y =10
x =0, y =0
x =0, y =5
x =0, y =0
x =0, y =3
最佳答案
它可能来自属性的收缩。试试 forAllNoShrink
反而。
关于ScalaCheck:Gen.choose 输出超出指定范围的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38959780/
我知道我可以 make scalacheck tests deterministic ,但我有一个更普遍的问题:scalacheck默认的非确定性行为是否会导致实际问题?我一直认为测试应该是确定性的和
这是在 https://stackoverflow.com/questions/12639454/make-scalacheck-tests-deterministic 中作为“奖金问题”提出的,但没
有没有办法使用 Scalacheck 为属性测试生成随机日期。我想同时生成 future 日期和过去日期。但是现有的 Scalacheck.Gen 类没有提供任何预定义的方法来这样做。 最佳答案 以下
在我的测试中,我非常广泛地使用 Specs2 + ScalaCheck,并且有一些模式需要考虑。我仍然没有确定我的函数是否应该使用 Arbitrary[T] 或 Gen[T],因为它们非常相似: se
我试图确保我的 ScalaCheck 属性运行 500 次而不是默认的 100 次。我在配置这个时遇到了麻烦。 class BlockSpec extends Properties("BlockSpe
我正在尝试实现一个简单的属性检查,但 Scalacheck 忽略了我的生成器。我在这里做错了什么? object AlgorithmTest extends Properties("Algorithm
我对 ScalaCheck(以及整个 Scala)相当陌生,所以这可能是一个相当简单的解决方案 我正在使用 ScalaCheck 为 AST 生成测试并验证编写器/解析器是否工作。我有这些文件 AST
我是第一次尝试 ScalaCheck,我想生成一个有序的 Int 数组。 我阅读了文档并进行了一些搜索,但没有找到方法。 有人可以对此有所了解吗? 谢谢 最佳答案 我假设您想要一个已排序的任意整数数组
我想在 ScalaCheck 中创建一个生成器,它可以生成介于 1 和 100 之间的数字,但对接近 1 的数字有钟形偏差。 Gen.choose()在最小值和最大值之间随机分配数字: scala>
我想生成一个与ScalaCheck中的生成器列表相对应的整数列表。 import org.scalacheck._ import Arbitrary.arbitrary val
在这样的上下文中,生成非空字符串的最佳方法是什么 private def createIndexFn() = { for{ someChar <- Gen.alpha
我看到 scalacheck 似乎是一个非常明显的错误,如果它真的存在,我看不到人们如何将它用于递归数据结构。 这个程序失败了 StackOverflowError在 scalacheck 接管之前,
我看到 scalacheck 似乎是一个非常明显的错误,如果它真的存在,我看不到人们如何将它用于递归数据结构。 这个程序失败了 StackOverflowError在 scalacheck 接管之前,
我已经实现了以下功能: /** * Returns a function h , which is the composition of the functions f and g. */ d
我正在尝试使用 Scalacheck 生成随机数据。我有一个具有许多属性的案例类层次结构。到目前为止,我发现填充案例类的唯一方法是这样的: case class Data(a: String,
我该如何写Gen[A]使用永远不会返回相同对象两次的 ScalaCheck? Gen.oneOf(a,b,c) 可以重复选择同一个对象,所以不起作用。 我正在 specs2 中编写一个可变规范,我
我正在尝试使用 ScalaCheck 为 BST 创建一个 Gen,但是当我调用 .sample 方法时,它给了我 java.lang.NullPointerException。我哪里错了? seal
我正在使用 ScalaCheck 在 ScalaTest 中进行一些基于属性的测试。假设我想测试一个函数,f(x: Double): Double仅针对 x >= 0.0 定义的, 并返回 NaN对于
UserGuide scalacheck 项目提到了大小的生成器。解释代码 def matrix[T](g:Gen[T]):Gen[Seq[Seq[T]]] = Gen.sized {size =>
我想用 scalatest 和 scalacheck 测试通用堆栈。到目前为止我有这个: "Stack" should "pop the last value pushed" in { check
我是一名优秀的程序员,十分优秀!