Represents a DirName
indexed by another type A
which is used to
generate the segment.
Represents a DirName
indexed by another type A
which is used to
generate the segment.
i.e. For some type A
such that Arbitrary[A]
and Show[A]
,
Arbitrary[DirNameOf[A]]
will generate an arbitrary DirName
where
the path segment is formed by the string representation of an arbitrary A
.
Represents a FileName
indexed by another type A
which is used to
generate the segment.
Represents a FileName
indexed by another type A
which is used to
generate the segment.
i.e. For some type A
such that Arbitrary[A]
and Show[A]
,
Arbitrary[FileNameOf[A]]
will generate an arbitrary FileName
where
the path segment is formed by the string representation of an arbitrary A
.
Represents a Path[B,T,S]
indexed by another type A
which is used to
generate path segments.
Represents a Path[B,T,S]
indexed by another type A
which is used to
generate path segments.
i.e. For some type A
such that Arbitrary[A] and Show[A],
Arbitrary[PathOf[B,T,S,A]] will generate an arbitrary Path[B,T,S] where
every path segment is formed by the string representation of an arbitrary A
.
Generator that distributes the available size to two component generators, and then combines the results.
Generator that distributes the available size to two component generators, and then combines the results. Can be used to generate nested structures where the aggregate size of component/leaf elements is effectively controlled by the size parameter.
Generator for lists of non-atomic components, where the size parameter is spread across all the generated elements so that the aggregate size of component/leaf elements is effectively controlled by the size parameter.
Generator for lists of non-atomic components, where the size parameter is spread across all the generated elements so that the aggregate size of component/leaf elements is effectively controlled by the size parameter. No element is ever generated with a size parameter of less than 1, and each "cons cell" consumes one unit of size.