def _interval_tuples(self, interval, entries): """ Calculates tuples of (begin_date, end_date) of length interval for the period in which entries contains Transactions. Args: interval: Either 'month' or 'year' Returns: [ (begin_date, end_date), ... ] """ date_first, date_last = getters.get_min_max_dates(entries, (Transaction)) if not date_first: return [] interval_tuples = [] while date_first <= date_last: next_date = get_next_interval(date_first, interval) interval_tuples.append((date_first, next_date)) date_first = next_date return interval_tuples
def test_get_next_interval(): assert get_next_interval(date(2013, 12, 31), 'year') == date(2014, 1, 1) assert get_next_interval(date(2013, 1, 1), 'year') == date(2014, 1, 1) assert get_next_interval(date(2013, 1, 1), 'quarter') == date(2013, 4, 1) assert get_next_interval(date(2013, 1, 1), 'month') == date(2013, 2, 1) assert get_next_interval(date(2016, 4, 17), 'week') == date(2016, 4, 18) assert get_next_interval(date(2016, 4, 17), 'day') == date(2016, 4, 18) with pytest.raises(NotImplementedError): get_next_interval(date(2016, 4, 18), 'decade')
def test_get_next_interval_exception(): with pytest.raises(NotImplementedError): get_next_interval(date(2016, 4, 18), 'decade')
def test_get_next_interval(input_date_string, interval, expect): """Test for get_next_interval function.""" input_date = dt.strptime(input_date_string, '%Y-%m-%d') get = get_next_interval(input_date, interval) assert get.strftime('%Y-%m-%d') == expect
def test_get_next_intervalfail2(): with pytest.raises(NotImplementedError): get_next_interval(date(2016, 4, 18), 'decade')
def test_get_next_interval(input_date_string, interval, expect): get = get_next_interval(_to_date(input_date_string), interval) assert get == _to_date(expect)
def test_get_next_intervalfail2(): with pytest.raises(NotImplementedError): get_next_interval(date(2016, 4, 18), "decade")
def test_get_next_interval(input_date_string: str, interval: Interval, expect: str) -> None: get = get_next_interval(_to_date(input_date_string), interval) assert get == _to_date(expect)