def do_draw(self, data: ConjectureData) -> Ex: strategy = data.draw( SampledFromStrategy(self.element_strategies).filter( lambda s: s.available(data) ) ) return data.draw(strategy)
def test_distribution_is_correctly_translated(inter, rnd): assert inter == sorted(inter) lower, c1, c2, upper = inter d = ConjectureData( draw_bytes=lambda data, n, distribution: distribution(rnd, n), max_length=10**6) assert d.draw(interval(lower, upper, c1, lambda r: c2)) == c2 assert d.draw(interval(lower, upper, c2, lambda r: c1)) == c1
def test_distribution_is_correctly_translated(inter, rnd): assert inter == sorted(inter) lower, c1, c2, upper = inter d = ConjectureData( draw_bytes=lambda data, n, distribution: distribution(rnd, n), max_length=10 ** 6 ) assert d.draw(interval(lower, upper, c1, lambda r: c2)) == c2 assert d.draw(interval(lower, upper, c2, lambda r: c1)) == c1
def do_draw(self, data: ConjectureData) -> Ex: for _ in range(3): i = data.index try: data.start_example(MAPPED_SEARCH_STRATEGY_DO_DRAW_LABEL) result = self.pack(data.draw(self.mapped_strategy)) data.stop_example() return result except UnsatisfiedAssumption: data.stop_example(discard=True) if data.index == i: raise raise UnsatisfiedAssumption()
def do_draw(self, data: ConjectureData) -> Ex: with warnings.catch_warnings(): if isinstance(self.pack, type) and issubclass( self.pack, (abc.Mapping, abc.Set) ): warnings.simplefilter("ignore", BytesWarning) for _ in range(3): i = data.index try: data.start_example(MAPPED_SEARCH_STRATEGY_DO_DRAW_LABEL) result = self.pack(data.draw(self.mapped_strategy)) data.stop_example() return result except UnsatisfiedAssumption: data.stop_example(discard=True) if data.index == i: raise raise UnsatisfiedAssumption()