示例#1
0
 def draw_parameter(self, random):
     n = len(self.element_strategies)
     return self.Parameter(
         chooser=chooser(random.getrandbits(8) + 1 for _ in hrange(n)),
         child_parameters=[
             s.draw_parameter(random) for s in self.element_strategies
         ])
示例#2
0
 def draw_parameter(self, random):
     n = len(self.elements)
     active = list(range(n))
     random.shuffle(active)
     n_active = min(random.randint(1, n), random.randint(1, n))
     active = set(active[:n_active])
     return chooser(random.getrandbits(8) + 1 if i in active else 0 for i in hrange(n))
示例#3
0
 def produce_parameter(self, random):
     n = len(self.element_strategies)
     return self.Parameter(
         chooser=chooser(
             dirichlet(random, [1.0 / n] * n)),
         child_parameters=[
             s.draw_parameter(random) for s in self.element_strategies]
     )
示例#4
0
 def draw_parameter(self, random):
     n = len(self.element_strategies)
     return self.Parameter(
         chooser=chooser(
             random.getrandbits(8) + 1 for _ in hrange(n)),
         child_parameters=[
             s.draw_parameter(random) for s in self.element_strategies]
     )
示例#5
0
文件: misc.py 项目: trowt/hypothesis
 def draw_parameter(self, random):
     n = len(self.elements)
     active = list(range(n))
     random.shuffle(active)
     n_active = min(random.randint(1, n), random.randint(1, n))
     active = set(active[:n_active])
     return chooser(
         random.getrandbits(8) + 1 if i in active else 0 for i in hrange(n))
示例#6
0
 def draw_parameter(self, random):
     n = len(self.element_strategies)
     active = list(range(n))
     random.shuffle(active)
     n_active = min(random.randint(1, n), random.randint(1, n))
     active = set(active[:n_active])
     return self.Parameter(
         chooser=chooser(random.getrandbits(8) + 1 if i in active else 0 for i in hrange(n)),
         child_parameters=[LazyParameter(s, random) for s in self.element_strategies],
     )
示例#7
0
 def draw_parameter(self, random):
     n = len(self.element_strategies)
     active = list(range(n))
     random.shuffle(active)
     n_active = min(random.randint(1, n), random.randint(1, n))
     active = set(active[:n_active])
     return self.Parameter(
         chooser=chooser(
             random.getrandbits(8) + 1 if i in active else 0
             for i in hrange(n)),
         child_parameters=[
             LazyParameter(s, random) for s in self.element_strategies]
     )
示例#8
0
def test_can_choose_one():
    chooser([1]).choose(random) == 0
示例#9
0
def test_cannot_choose_all_zero_weights():
    with pytest.raises(InvalidArgument):
        chooser([0])
示例#10
0
def test_can_choose_zero_weights():
    assert chooser([1, 0, 0, 0]).choose(random) == 0
示例#11
0
def test_cannot_choose_negative_weights():
    with pytest.raises(InvalidArgument):
        chooser((1, -1, 1))
示例#12
0
def test_cannot_choose_empty():
    with pytest.raises(InvalidArgument):
        chooser([])
示例#13
0
 def produce_parameter(self, random):
     n = len(self.elements)
     if n == 1:
         return
     return chooser(dist.dirichlet(random, [sqrt(n)] * n))
 def draw_parameter(self, random):
     n = len(self.elements)
     return chooser(random.getrandbits(8) + 1 for _ in hrange(n))
示例#15
0
 def produce_parameter(self, random):
     n = len(self.elements)
     if n == 1:
         return
     return chooser(random.getrandbits(8) + 1 for _ in hrange(n))
示例#16
0
 def draw_parameter(self, random):
     n = len(self.elements)
     return chooser(random.getrandbits(8) + 1 for _ in hrange(n))