I want to test my function and use ScalaCheck.
The property test looks as following:
object WindowsSpec extends Properties("Windows") { val pathsGen = Gen.frequency( (3, "C:\\Windows\\DigitalLocker"), (2, "C:\\Temp"), (3, "Invalid folder"), (1, "C:\\Program Files\\Internet Explorer"), (4, "C:\\Program Files\\Windows Defender Advanced Threat Protection"), (1, "C:\\Program Files\\Windows Photo Viewer") ) val pathsGenContainer = Gen.containerOf[List,String](pathsGen) property("validPaths") = forAll(pathsGenContainer) { a: List[String] => println(a) Windows.arePathsValid(a).value.length > 0 } } Why do I get an empty list?
I tried in the shell to find out, if the generator works:
scala> :paste // Entering paste mode (ctrl-D to finish) val pathsGen = Gen.frequency( (3, "C:\\Windows\\DigitalLocker"), (2, "C:\\Temp"), (3, "Invalid folder"), (1, "C:\\Program Files\\Internet Explorer"), (4, "C:\\Program Files\\Windows Defender Advanced Threat Protection"), (1, "C:\\Program Files\\Windows Photo Viewer") ) val pathsGenContainer = Gen.containerOf[List,String](pathsGen) // Exiting paste mode, now interpreting. pathsGen: org.scalacheck.Gen[String] = org.scalacheck.Gen$$anon$1@6cb26245 pathsGenContainer: org.scalacheck.Gen[List[String]] = org.scalacheck.Gen$$anon$1@5335e968 scala> pathsGen pathsGen pathsGenContainer scala> pathsGen.sample res26: Option[String] = Some(C:\Program Files\Internet Explorer) scala> pathsGen val pathsGen: org.scalacheck.Gen[String] scala> pathsGenContainer.sample res27: Option[List[String]] = Some(List(C:\Temp, C:\Temp, C:\Program Files\Windows Defender Advanced Threat Protection, Invalid folder, C:\Program Files\Internet Explorer, C:\Program Files\Internet Explorer, C:\Temp, C:\Temp, C:\Program Files\Windows Photo Viewer, Invalid folder, C:\Program Files\Windows Defender Advanced Threat Protection, C:\Program Files\Windows Defender Advanced Threat Protection, C:\Windows\DigitalLocker, Invalid folder, C:\Program Files\Windows Photo Viewer, C:\Program Files\Windows Defender Advanced Threat Protection, C:\Temp, C:\Program Files\Internet Explorer, C:\Temp, C:\Program Files\Windows Defender Advanced Threat Protection, C:\Program Files\Windows Photo Viewer, Invalid folder, Invalid folder, C:\Windows\DigitalLocker, C:\Program... As you can see, the generator generate some inputs.
What am I doing wrong?