如何为特定列表内容编写 属性 测试
How write a property test for particular list content
我有以下功能,我想用 ScalaCheck 测试它:
object Windows {
val Directory = "^[a-zA-Z]:\\(((?![<>:\"/\\|?*]).)+((?<![ .])\\)?)*$".r
def arePathsValid(paths: List[String]): Eval[List[String]] = {
Foldable[List]
.foldRight(paths, Eval.later(List.empty[String]))((a: String, b: Eval[List[String]]) => {
Directory.findFirstIn(a) match {
case Some(a) => b.map(a :: _)
case None => b
}
})
}
}
我尝试从以下开始:
val propPaths = forAll { l: List[String] => ??? }
但无法为 属性 编写实现。
在List
中应该随机生成的String
,应该有一个Windows模式路径,例如:
C:\temp\foo
如何执行 属性 实施?
您可以像这样添加 Windows 路径前缀:
val strGen = Gen.alphaStr // Or any other String generator
val windowsPathGen = strGen.map("C:\temp\foo" + _)
我有以下功能,我想用 ScalaCheck 测试它:
object Windows {
val Directory = "^[a-zA-Z]:\\(((?![<>:\"/\\|?*]).)+((?<![ .])\\)?)*$".r
def arePathsValid(paths: List[String]): Eval[List[String]] = {
Foldable[List]
.foldRight(paths, Eval.later(List.empty[String]))((a: String, b: Eval[List[String]]) => {
Directory.findFirstIn(a) match {
case Some(a) => b.map(a :: _)
case None => b
}
})
}
}
我尝试从以下开始:
val propPaths = forAll { l: List[String] => ??? }
但无法为 属性 编写实现。
在List
中应该随机生成的String
,应该有一个Windows模式路径,例如:
C:\temp\foo
如何执行 属性 实施?
您可以像这样添加 Windows 路径前缀:
val strGen = Gen.alphaStr // Or any other String generator
val windowsPathGen = strGen.map("C:\temp\foo" + _)