def __init__(self, element, period, begin=None, end=None, count=None, skip=1, repeat=INFINITY, **kwds): parts = [ Expression.convert(x, element) for x in (count, begin, end, skip)] self.count, self.begin, self.end, self.skip = Interval.interval(*parts) self.element = element self.period = Expression.convert(period, element) self.repeat = repeat if kwds: LOGGER.error('Unknown keywords "%s" for counter', kwds)
def __init__(self, element, period, begin=None, end=None, count=None, skip=1, repeat=INFINITY, **kwds): length = None if count is None else skip * count parts = [Units.convert(x, element) for x in (count, begin, end, skip)] self.count, self.begin, self.end, self.skip = Interval.interval(*parts) self.element = element self.period = Units.convert(period, element) self.repeat = repeat if kwds: LOGGER.error('Unused keywords %s', kwds)
def __init__(self, element, period, begin=None, end=None, count=None, skip=1, repeat=INFINITY, **kwds): parts = [ Expression.convert(x, element) for x in (count, begin, end, skip) ] self.count, self.begin, self.end, self.skip = Interval.interval(*parts) self.element = element self.period = Expression.convert(period, element) self.repeat = repeat if kwds: LOGGER.error('Unknown keywords "%s" for counter', kwds)
def test_begin_and_count(self): self.assertEqual(Interval.interval(begin=10, count=5), (5, 10, 14, 1))
def test_end_only(self): self.assertEqual(Interval.interval(end=10), (11, 0, 10, 1))
def test_begin_and_end(self): self.assertEqual(Interval.interval(begin=10, end=15), (6, 10, 15, 1))
def test_one_arg(self): self.assertEqual(Interval.interval(count=10), (10, 0, 9, 1))
def test_negative_skip(self): self.assertEqual(Interval.interval(begin=10, count=3, skip=-2), (3, 10, 6, -2))
def test_begin_after_end_skip(self): self.assertEqual(Interval.interval(begin=10, end=3, count=3), (3, 10, 3, -2))
def test_begin_after_end_negative_skip(self): self.assertEqual(Interval.interval(begin=10, end=3, skip=-2), (4, 10, 3, -2))
def test_begin_after_end(self): self.assertEqual(Interval.interval(begin=10, end=5), (6, 10, 5, -1))
def test_end_and_count(self): self.assertEqual(Interval.interval(end=10, count=5), (5, 6, 10, 1))
def test_empty(self): self.assertEqual(Interval.interval(), (INF, 0, INF, 1))
def test_one(self): self.assertEqual(Interval.interval(10), (10, 0, 9, 1))
def test_begin_only(self): self.assertEqual(Interval.interval(begin=10), (INF, 10, INF, 1))