def test_choice_distribution(self): a = ('a', 'b', 'c', 'd') p = (0.5, 0.2, 0.2, 0.1) sample = choice_distribution(a, p) self.assertTrue(sample in a) with open(os.path.join(TEST_DIR, 'random_state.json'), 'r') as fh: random_state = json.load(fh) random_state[1] = tuple(random_state[1]) random.setstate(random_state) samples = [choice_distribution(a, p) for i in range(100)] a_pop = len([i for i in samples if i == 'a']) b_pop = len([i for i in samples if i == 'b']) c_pop = len([i for i in samples if i == 'c']) d_pop = len([i for i in samples if i == 'd']) boundaries = [] tolerance = 5 for probability in p: boundaries.append( [100 * probability + tolerance, 100 * probability - tolerance]) self.assertTrue(boundaries[0][0] > a_pop > boundaries[0][1]) self.assertTrue(boundaries[1][0] > b_pop > boundaries[1][1]) self.assertTrue(boundaries[2][0] > c_pop > boundaries[2][1]) self.assertTrue(boundaries[3][0] > d_pop > boundaries[3][1])
def test_choice_distribution(self): a = ('a', 'b', 'c', 'd') p = (0.5, 0.2, 0.2, 0.1) sample = choices_distribution(a, p)[0] assert sample in a random_state = json.loads((TEST_DIR / 'random_state.json').read_text()) random_state[1] = tuple(random_state[1]) random.setstate(random_state) samples = choices_distribution(a, p, length=100) a_pop = len([i for i in samples if i == 'a']) b_pop = len([i for i in samples if i == 'b']) c_pop = len([i for i in samples if i == 'c']) d_pop = len([i for i in samples if i == 'd']) boundaries = [] tolerance = 5 for probability in p: boundaries.append( [100 * probability + tolerance, 100 * probability - tolerance]) assert boundaries[0][0] > a_pop > boundaries[0][1] assert boundaries[1][0] > b_pop > boundaries[1][1] assert boundaries[2][0] > c_pop > boundaries[2][1] assert boundaries[3][0] > d_pop > boundaries[3][1]
def test_choice_distribution(self): from faker.utils.distribution import choice_distribution a = ('a', 'b', 'c', 'd') p = (0.5, 0.2, 0.2, 0.1) sample = choice_distribution(a, p) self.assertTrue(sample in a) with open(os.path.join(TEST_DIR, 'random_state.json'), 'r') as fh: random_state = json.load(fh) random_state[1] = tuple(random_state[1]) random.setstate(random_state) samples = [choice_distribution(a, p) for i in range(100)] a_pop = len([i for i in samples if i == 'a']) b_pop = len([i for i in samples if i == 'b']) c_pop = len([i for i in samples if i == 'c']) d_pop = len([i for i in samples if i == 'd']) boundaries = [] tolerance = 5 for probability in p: boundaries.append([100 * probability + tolerance, 100 * probability - tolerance]) self.assertTrue(boundaries[0][0] > a_pop > boundaries[0][1]) self.assertTrue(boundaries[1][0] > b_pop > boundaries[1][1]) self.assertTrue(boundaries[2][0] > c_pop > boundaries[2][1]) self.assertTrue(boundaries[3][0] > d_pop > boundaries[3][1])
def _reseed(config, offset=0): global entrypoint_reseeds seed = config.getoption("randomly_seed") + offset if seed not in random_states: random.seed(seed) random_states[seed] = random.getstate() else: random.setstate(random_states[seed]) if have_factory_boy: factory_set_random_state(random_states[seed]) if have_faker: faker_random.setstate(random_states[seed]) if have_numpy: if seed not in np_random_states: np_random.seed(seed) np_random_states[seed] = np_random.get_state() else: np_random.set_state(np_random_states[seed]) if entrypoint_reseeds is None: entrypoint_reseeds = [ e.load() for e in entry_points().get("pytest_randomly.random_seeder", []) ] for reseed in entrypoint_reseeds: reseed(seed)
def reset_random_seed(self): if not self.enabled: return if self.options.reset_seed: random.setstate(self.random_state) if have_factory_boy: factory_set_random_state(self.random_state) if have_faker: faker_random.setstate(self.random_state)
def reset_random_seed(self): if not self.enabled: return if self.options.reset_seed: random.setstate(self.random_state) if have_factory_boy: factory_set_random_state(self.random_state) if have_faker: faker_random.setstate(self.random_state)
def _reseed(config): seed = config.getoption('randomly_seed') if seed not in random_states: random.seed(seed) random_states[seed] = random.getstate() else: random.setstate(random_states[seed]) if have_factory_boy: factory_set_random_state(random_states[seed]) if have_faker: faker_random.setstate(random_states[seed])
def _reseed(config, offset=0): seed = config.getoption('randomly_seed') + offset if seed not in random_states: random.seed(seed) random_states[seed] = random.getstate() else: random.setstate(random_states[seed]) if have_factory_boy: factory_set_random_state(random_states[seed]) if have_faker: faker_random.setstate(random_states[seed]) if have_numpy: if seed not in np_random_states: np_random.seed(seed) np_random_states[seed] = np_random.get_state() else: np_random.set_state(np_random_states[seed])
def _reseed(config, offset=0): seed = config.getoption('randomly_seed') + offset if seed not in random_states: random.seed(seed) random_states[seed] = random.getstate() else: random.setstate(random_states[seed]) if have_factory_boy: factory_set_random_state(random_states[seed]) if have_faker: faker_random.setstate(random_states[seed]) if have_numpy: if seed not in np_random_states: np_random.seed(seed) np_random_states[seed] = np_random.get_state() else: np_random.set_state(np_random_states[seed])