What is the best way to generate a non empty string, when in the context of something like this
private def createIndexFn() = {
for{
someChar <- Gen.alphaString
aNumber <- Gen.choose(1,100)
//...
}
yield {
MyThing(AnotherType(someChar.toString), SomeOtherType(aNumber), aNumber)
}
}
where you need maybe someChar to be a non empty string. I know you can use whenever
in the forAll
section but I wonder how to do it in this part of the generator.
Thanks
The accepted answer caused a high ratio of discarded tests for me, I ended up using:
import org.scalacheck._
Arbitrary(Gen.nonEmptyListOf[Char](Arbitrary.arbChar.arbitrary)).map(_.mkString))