Beispiel #1
0
 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
Beispiel #3
0
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
Beispiel #4
0
 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()
Beispiel #5
0
 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()