예제 #1
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()
예제 #2
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()