def test_ceil_log_hypothesis(number, base): exponent = utils.ceil_log(number, base) assert base ** exponent >= number # With base=2, number=1 we get exponent=1 # 2**1 > 1, but 2**0 == 1. if exponent > 1: assert base ** (exponent - 1) < number
def test_ceil_log_invalid(number, base): with pytest.raises(Exception): # ValueError/ZeroDivisionError math.log(number, base) with pytest.raises(ValueError): utils.ceil_log(number, base)