def METHOD_NAME():
    def check(rate_def, factor):
        testil.eq(
            rate_def.times(factor),
            RateDefinition(
                per_second=times_or_none(rate_def.per_second, factor),
                per_minute=times_or_none(rate_def.per_minute, factor),
                per_hour=times_or_none(rate_def.per_hour, factor),
                per_day=times_or_none(rate_def.per_day, factor),
                per_week=times_or_none(rate_def.per_week, factor),
            ),
        )
    def times_or_none(number_or_none, factor):
        if number_or_none is None:
            return None
        else:
            return number_or_none * factor
    for _ in range(15):
        rate_def = _get_random_rate_def()
        factor = int(random.expovariate(1 / 10000))
        yield check, rate_def, factor