Object/Class

es.ucm.fdi.sscheck.gen

WindowGen

Related Docs: class WindowGen | package gen

Permalink

object WindowGen

Generators for Batch, a class for representing batches of elements in a discrete data stream. This is a local representation, but you can use import es.ucm.fdi.sscheck.gen.RDDGen._ to get an automatic conversion from Gen[Batch[A]] to Gen[RDD[A]]

All the temporal generators defined in this object are sized generators, but the size parameters only affects the number of batches in the output DStream, not the size of the batches. The size of the batches can be changed by using Gen.resize in the definition of the batch generator that is passed to these HO generators

On the other hand for generators of arbitrary DStreams like Gen.resize(5, arbitrary[DStream[Int]]) Gen.resize has effect, both in the number of batches and in the size of the batches, as those arbitrary instances are based on arbitrary for lists

TODO That should be tested // by using Gen.resize(5, TLGen.always(Batch(List(0, 1)))) (constant batch size) // and then in Gen.resize(3, TLGen.always(BatchGen.ofNtoM(1, 5, Gen.choose(0, 3)))) // the point is that we always have 3 batches, but Gen.resize doesn't affect the batch // size but only the number of batches //

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WindowGen
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def always[A](bg: Gen[Window[A]], t: Timeout): Gen[PStream[A]]

    Permalink
  5. def always[A](bg: Gen[Window[A]]): Gen[PStream[A]]

    Permalink
  6. def apply[A](bg: Gen[Window[A]]): WindowGen[A]

    Permalink
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def eventually[A](bg: Gen[Window[A]], t: Timeout): Gen[PStream[A]]

    Permalink
  12. def eventually[A](bg: Gen[Window[A]]): Gen[PStream[A]]

    Permalink
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. def laterN[A](n: Int, bg: Gen[Window[A]]): Gen[PStream[A]]

    Permalink

    returns

    a dstream generator that has n empty batches followed by bg

  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. def next[A](bg: Gen[Window[A]]): Gen[PStream[A]]

    Permalink

    returns

    a dstream generator that has exactly two batches, the first one is emptyBatch, and the second one is bg

  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. def now[A](bg: Gen[Window[A]]): Gen[PStream[A]]

    Permalink

    returns

    a dstream generator with exactly bg as the only batch

  23. def of[T](g: ⇒ Gen[T]): Gen[Window[T]]

    Permalink

    returns

    a generator of Batch that generates its elements from g

  24. def ofN[T](n: Int, g: Gen[T]): Gen[Window[T]]

    Permalink

    returns

    a generator of Batch that generates its elements from g

  25. def ofNtoM[T](n: Int, m: Int, g: Gen[T]): Gen[Window[T]]

    Permalink

    returns

    a generator of Batch that generates its elements from g

  26. def release[A](bg1: Gen[Window[A]], bg2: Gen[Window[A]], t: Timeout): Gen[PStream[A]]

    Permalink
  27. def release[A](bg1: Gen[Window[A]], bg2: Gen[Window[A]]): Gen[PStream[A]]

    Permalink

    Generator for the weak version of LTL release operator: either bg2 happens forever, or it happens until bg1 happens, including the moment when bg1 happens

  28. implicit def shrinkBatch[A]: Shrink[Window[A]]

    Permalink

    Shrink function for Batch

    Shrink function for Batch

    Although a Batch is a Seq, we need this simple definition of shrink as the default doesn't work properly

    Note shrinking assumes no particular structure on the batches, but that is no problem as there is no temporal structure in the Batch generators: note generators like BatchGen.now() are in fact generators of PDStream

  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  30. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  31. def until[A](bg1: Gen[Window[A]], bg2: Gen[Window[A]], t: Timeout): Gen[PStream[A]]

    Permalink
  32. def until[A](bg1: Gen[Window[A]], bg2: Gen[Window[A]]): Gen[PStream[A]]

    Permalink

    returns

    a generator of DStream that repeats batches generated by gb1 until a batch generated by bg2 is produced Note bg2 always occurs eventually, so this is not a weak until. When bg2 occurs then the generated DStream finishes This generator is exclusive in the sense that when bg2 finally happens then bg1 doesn't occur. Example: Gen.resize(10, always(BatchGen.ofN(2, 3)) + until(BatchGen.ofN(2, 0), BatchGen.ofN(2, 1)) ). sample //> res34: Option[es.ucm.fdi.sscheck.DStream[Int]] = Some(DStream(Batch(3, 3, 0 //| , 0), Batch(3, 3, 0, 0), Batch(3, 3, 1, 1), Batch(3, 3), Batch(3, 3), Batch //| (3, 3), Batch(3, 3), Batch(3, 3), Batch(3, 3), Batch(3, 3)))

  33. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped