Ejemplo n.º 1
0
 def test_sample(self):
     array = [2, 3, 5, 7, 11, 13]
     assert sample_indulgent(array, 1)[0] in array
     for item in sample_indulgent(array, 4):
         assert item in array
     for item in sample_indulgent(array, 1000):
         assert item in array
Ejemplo n.º 2
0
    def generate_nb_possibilities(self, nb_possibilities, **kwargs):
        """
        Returns a list containing `nb_possibilities` examples,
        chosen at random in the set of all possible examples.
        Can use the cached examples in some cases (better performances).
        `kwargs` can contain `variation_name`.
        @pre: `nb_possibilities` >= 2 (otherwise call `generate_random`)
        """
        max_nb_possibilities = self.get_max_nb_possibilities(**kwargs)
        if nb_possibilities > max_nb_possibilities:
            nb_possibilities = max_nb_possibilities

        if len(self._cached_examples) >= max_nb_possibilities:
            return sample(self._cached_examples, nb_possibilities)
        if nb_possibilities < float(max_nb_possibilities) / 5.0:  # QUESTION: is 5 a good idea?
            return self._generate_n_strategy(nb_possibilities, **kwargs)
        return sample_indulgent(self.generate_all(**kwargs), nb_possibilities)
        return result
Ejemplo n.º 3
0
 def test_empty(self):
     assert len(sample_indulgent([], 5)) == 0