diff options
author | Zach Smith <zach@driver.xyz> | 2017-06-21 16:31:21 -0700 |
---|---|---|
committer | Zach Smith <zach@driver.xyz> | 2017-06-21 16:31:21 -0700 |
commit | c5bc3df97dd7670d6271efe440068b44f6521562 (patch) | |
tree | 23180d18da15786456ad9548493af836445dd88d /src/main/scala/xyz/driver/core/generators.scala | |
parent | 7bacb8f4bc4337e3045507f47c5f8f1b0447041a (diff) | |
download | driver-core-c5bc3df97dd7670d6271efe440068b44f6521562.tar.gz driver-core-c5bc3df97dd7670d6271efe440068b44f6521562.tar.bz2 driver-core-c5bc3df97dd7670d6271efe440068b44f6521562.zip |
Add minLength attribute to generatorsv0.13.14
Diffstat (limited to 'src/main/scala/xyz/driver/core/generators.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/generators.scala | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/main/scala/xyz/driver/core/generators.scala b/src/main/scala/xyz/driver/core/generators.scala index 8f3ff13..9242fd9 100644 --- a/src/main/scala/xyz/driver/core/generators.scala +++ b/src/main/scala/xyz/driver/core/generators.scala @@ -19,7 +19,7 @@ object generators { def nextToken(length: Int): String = List.fill(length)(oneOf(NonAmbigiousCharacters)).mkString - def nextInt(maxValue: Int): Int = random.nextInt(maxValue) + def nextInt(maxValue: Int, minValue: Int = 0): Int = random.nextInt(maxValue - minValue) + minValue def nextBoolean(): Boolean = random.nextBoolean() @@ -67,21 +67,24 @@ object generators { def oneOf[T](items: Set[T]): T = items.toSeq(nextInt(items.size)) - def arrayOf[T: ClassTag](generator: => T, maxLength: Int = DefaultMaxLength): Array[T] = - Array.fill(nextInt(maxLength))(generator) + def arrayOf[T: ClassTag](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Array[T] = + Array.fill(nextInt(maxLength, minLength))(generator) - def seqOf[T](generator: => T, maxLength: Int = DefaultMaxLength): Seq[T] = - Seq.fill(nextInt(maxLength))(generator) + def seqOf[T](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Seq[T] = + Seq.fill(nextInt(maxLength, minLength))(generator) - def vectorOf[T](generator: => T, maxLength: Int = DefaultMaxLength): Vector[T] = - Vector.fill(nextInt(maxLength))(generator) + def vectorOf[T](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Vector[T] = + Vector.fill(nextInt(maxLength, minLength))(generator) - def listOf[T](generator: => T, maxLength: Int = DefaultMaxLength): List[T] = - List.fill(nextInt(maxLength))(generator) + def listOf[T](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): List[T] = + List.fill(nextInt(maxLength, minLength))(generator) - def setOf[T](generator: => T, maxLength: Int = DefaultMaxLength): Set[T] = - seqOf(generator, maxLength).toSet + def setOf[T](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Set[T] = + seqOf(generator, maxLength, minLength).toSet - def mapOf[K, V](maxLength: Int, keyGenerator: => K, valueGenerator: => V): Map[K, V] = - seqOf(nextPair(keyGenerator, valueGenerator), maxLength).toMap + def mapOf[K, V](keyGenerator: => K, + valueGenerator: => V, + maxLength: Int = DefaultMaxLength, + minLength: Int = 0): Map[K, V] = + seqOf(nextPair(keyGenerator, valueGenerator), maxLength, minLength).toMap } |