コード例 #1
0
 def steps(self):
     strategies = []
     for rule in self.rules():
         converted_arguments = {}
         valid = True
         if rule.precondition is not None and not rule.precondition(self):
             continue
         for k, v in rule.arguments.items():
             if isinstance(v, Bundle):
                 bundle = self.bundle(v.name)
                 if not bundle:
                     valid = False
                     break
                 else:
                     v = SimpleSampledFromStrategy(bundle)
             converted_arguments[k] = v
         if valid:
             strategies.append(
                 TupleStrategy((JustStrategy(rule),
                                FixedKeysDictStrategy(converted_arguments)),
                               tuple))
     if not strategies:
         raise InvalidDefinition(u'No progress can be made from state %r' %
                                 (self, ))
     return one_of_strategies(strategies)
コード例 #2
0
ファイル: stateful.py プロジェクト: degustaf/hypothesis
 def steps(self):
     strategies = []
     for rule in self.rules():
         converted_arguments = {}
         valid = True
         if rule.precondition is not None and not rule.precondition(self):
             continue
         for k, v in rule.arguments.items():
             if isinstance(v, Bundle):
                 bundle = self.bundle(v.name)
                 if not bundle:
                     valid = False
                     break
                 else:
                     v = SimpleSampledFromStrategy(bundle)
             converted_arguments[k] = v
         if valid:
             strategies.append(TupleStrategy((
                 JustStrategy(rule),
                 FixedKeysDictStrategy(converted_arguments)
             ), tuple))
     if not strategies:
         raise InvalidDefinition(
             u'No progress can be made from state %r' % (self,)
         )
     return one_of_strategies(strategies)
コード例 #3
0
    def __init__(self, strategies, average_length=50.0):
        SearchStrategy.__init__(self)

        self.average_length = average_length
        strategies = tuple(strategies)
        if strategies:
            self.element_strategy = one_of_strategies(strategies)
        else:
            self.element_strategy = None
            self.size_upper_bound = 1
            self.size_lower_bound = 1
コード例 #4
0
ファイル: collections.py プロジェクト: sarvex/hypothesis
    def __init__(self,
                 strategies, average_length=50.0):
        SearchStrategy.__init__(self)

        self.average_length = average_length
        strategies = tuple(strategies)
        if strategies:
            self.element_strategy = one_of_strategies(strategies)
        else:
            self.element_strategy = None
            self.size_upper_bound = 1
            self.size_lower_bound = 1
コード例 #5
0
    def __init__(
        self,
        strategies, average_length=50.0, min_size=0, max_size=float('inf')
    ):
        SearchStrategy.__init__(self)

        assert average_length > 0
        self.average_length = average_length
        strategies = tuple(strategies)
        self.min_size = min_size or 0
        self.max_size = max_size or float('inf')
        self.element_strategy = one_of_strategies(strategies)
コード例 #6
0
    def __init__(
        self,
        strategies, average_length=50.0, min_size=0, max_size=float('inf')
    ):
        SearchStrategy.__init__(self)

        assert average_length > 0
        self.average_length = average_length
        strategies = tuple(strategies)
        self.min_size = min_size or 0
        self.max_size = max_size or float('inf')
        self.element_strategy = one_of_strategies(strategies)
コード例 #7
0
ファイル: collections.py プロジェクト: degustaf/hypothesis
    def __init__(self, strategies, average_length=50.0, min_size=0, max_size=float("inf")):
        SearchStrategy.__init__(self)

        assert average_length > 0
        self.average_length = average_length
        strategies = tuple(strategies)
        self.min_size = min_size or 0
        self.max_size = max_size
        if strategies:
            self.element_strategy = one_of_strategies(strategies)
        else:
            self.element_strategy = None
            self.template_upper_bound = 1
コード例 #8
0
    def __init__(
        self,
        strategies, average_length=50.0, min_size=0, max_size=float(u'inf')
    ):
        SearchStrategy.__init__(self)

        assert average_length > 0
        self.average_length = average_length
        strategies = tuple(strategies)
        self.min_size = min_size or 0
        self.max_size = max_size
        if strategies:
            self.element_strategy = one_of_strategies(strategies)
        else:
            self.element_strategy = None
            self.template_upper_bound = 1
コード例 #9
0
ファイル: collections.py プロジェクト: mgedmin/hypothesis
    def __init__(self, strategies, average_length=50.0):
        strategies = list(strategies)

        if strategies:
            strategies.sort(key=show)
            self.element_strategy = one_of_strategies(strategies)
            if self.element_strategy.size_upper_bound < 32:
                self.size_lower_bound = (
                    2 ** self.element_strategy.size_lower_bound)
                self.size_upper_bound = (
                    2 ** self.element_strategy.size_upper_bound)
            else:
                self.size_upper_bound = float('inf')
                self.size_lower_bound = float('inf')
        else:
            self.element_strategy = None
            self.size_lower_bound = 1
            self.size_upper_bound = 1
        self.average_length = average_length
コード例 #10
0
ファイル: collections.py プロジェクト: wrhall/hypothesis
    def __init__(self, strategies, average_length=50.0):
        strategies = list(strategies)

        if strategies:
            strategies.sort(key=show)
            self.element_strategy = one_of_strategies(strategies)
            if self.element_strategy.size_upper_bound < 32:
                self.size_lower_bound = (
                    2**self.element_strategy.size_lower_bound)
                self.size_upper_bound = (
                    2**self.element_strategy.size_upper_bound)
            else:
                self.size_upper_bound = float('inf')
                self.size_lower_bound = float('inf')
        else:
            self.element_strategy = None
            self.size_lower_bound = 1
            self.size_upper_bound = 1
        self.average_length = average_length
コード例 #11
0
def test_joining_zero_strategies_fails():
    with pytest.raises(ValueError):
        one_of_strategies(())
コード例 #12
0
def test_joining_zero_strategies_fails():
    with pytest.raises(ValueError):
        one_of_strategies(())