rustpy 0.3.0

Bindings of Rust programming language primitives.
Documentation
from hypothesis import strategies as _st

from rustpy.option import (None_ as _None,
                           Some as _Some)
from tests.strategies import (
    comparable_values_categories as _comparable_values_categories,
    equatable_values as _equatable_values,
    losslessly_representable_values as _losslessly_representable_values,
    type_hints as _type_hints
)

type_hints = _type_hints
equatable_values = _equatable_values
equatable_empty_factories = (
        _st.sampled_from([bool, type(None), int, float, complex, str, bytes,
                          bytearray, list, tuple, dict, set, frozenset])
        | _st.builds(lambda value: (lambda: value), _equatable_values)
)
equatable_pure_maps = (
        _st.sampled_from([lambda value: value, dir, id, repr, str])
        | _st.builds(lambda value: (lambda _: value), _equatable_values)
)
options_types = _st.sampled_from([_None, _Some])
generic_options_types = _st.just(_Some)
nones = _st.builds(_None)
equatable_somes = _equatable_values.map(_Some)
equatable_options = nones | equatable_somes
comparable_options = nones | _comparable_values_categories.flatmap(
        lambda values: values.map(_Some)
)
comparable_options_categories = _comparable_values_categories.map(
        lambda values: nones | values.map(_Some)
)
comparable_options_pairs = comparable_options_categories.flatmap(
        lambda values: _st.tuples(values, values)
)
comparable_options_triplets = comparable_options_categories.flatmap(
        lambda values: _st.tuples(values, values, values)
)
options_maps = equatable_options.map(lambda value: (lambda _: value))
options_empty_factories = equatable_options.map(lambda value: (lambda: value))
losslessly_representable_options = (
        nones | _losslessly_representable_values.map(_Some)
)
messages = _st.text()