Mojo trait
Strategy
A type used to produce random inputs for property tests.
Strategies are a core building block of property testing. They are used to produce the random input values for the properties being tested.
Implemented traits
AnyType,
Movable,
UnknownDestructibility
Aliases
__del__is_trivial
alias __del__is_trivial
A flag (often compiler generated) to indicate whether the implementation of __del__ is trivial.
The implementation of __del__ is considered to be trivial if:
- The struct has a compiler-generated trivial destructor and all its fields
have a trivial
__del__method.
In practice, it means that the __del__ can be considered as no-op.
__moveinit__is_trivial
alias __moveinit__is_trivial
A flag (often compiler generated) to indicate whether the implementation of __moveinit__ is trivial.
The implementation of __moveinit__ is considered to be trivial if:
- The struct has a compiler-generated
__moveinit__and all its fields have a trivial__moveinit__method.
In practice, it means the value can be moved by moving the bits from one location to another without side effects.
Value
alias Value
The type the strategy produces.
Required methods
__moveinit__
__moveinit__(out self: _Self, var existing: _Self, /)
Create a new instance of the value by moving the value of another.
Args:
- existing (
_Self): The value to move.
Returns:
_Self
value
value(mut self: _Self, mut rng: Rng) -> _Self.Value
Produces a random value using this strategy.
Args:
- rng (
Rng): The random number generator to use.
Returns:
_Self.Value: A random value.
Raises:
If the underlying Rng raises an error.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!