def test_can_falsify_types_without_default_productions(): strategies = SearchStrategies() strategies.define_specification_for(Bar, BarStrategy) with pytest.raises(MissingSpecification): SearchStrategies.default().strategy(Bar) verifier = Verifier(search_strategies=strategies) assert verifier.falsify( lambda x: False, Bar, )[0] == Bar() assert verifier.falsify(lambda x: x.size() < 3, Bar)[0] == Bar(Bar(Bar()))
def __init__(self, search_strategies=None, starting_size=1.0, warming_rate=0.5, cooling_rate=0.1, runs_to_explore_flags=3, min_satisfying_examples=5, max_size=512, max_failed_runs=10): self.search_strategies = search_strategies or SearchStrategies() self.min_satisfying_examples = min_satisfying_examples self.starting_size = starting_size self.warming_rate = warming_rate self.cooling_rate = cooling_rate self.max_size = max_size self.max_failed_runs = max_failed_runs self.runs_to_explore_flags = runs_to_explore_flags