def test_gen_number_4(data_set): """Create a random number with set min/max limits.""" max_value_based = (3000 if data_set.gen_func is gen_integer else base_repr(3000, data_set.base)) for _ in range(10): result = int(str(data_set.gen_func( min_value=1, max_value=max_value_based)), base=data_set.base) assert result >= 1 assert result <= 3000
def gen_number(min_value=None, max_value=None, base=10): """Return a random number (with <base> representation). :returns: A random number with base of <base>. :rtype: str """ return base_repr(gen_integer( int(str(min_value), base=base) if min_value is not None else min_value, int(str(max_value), base=base) if max_value is not None else max_value, ), base)
def test_gen_number_3(data_set): """Create a random number with set maximum limit.""" try: # Change system max int to a smaller number old_sys_maxsize = sys.maxsize sys.maxsize = 1000 min_value = - sys.maxsize - 1 max_value_based = (1000 if data_set.gen_func is gen_integer else base_repr(1000, data_set.base)) for _ in range(10): result = int(str(data_set.gen_func( max_value=max_value_based)), base=data_set.base) assert result >= min_value assert result <= 1000 finally: # Reset system max int back to original value sys.maxsize = old_sys_maxsize
def test_base_repr(number, base, result): """Return base representation for a number.""" assert base_repr(number, base) == result
def test_base_repr_small_base(base): """Testing the base_repr helper.""" with pytest.raises(ValueError): base_repr(1, base)