def create_qtr_list(time_range):
    """
    From a given time_range, create the list of qtr contained in it. Includes both qtr in the time_range. time_range
    is of the form [(year, QTR), (year, QTR)].

    :param time_range: a list of two tuples representing the start and finish qtr
    :return: a list of all the qtr included in the time_range.
    """
    assert len(time_range) == 2
    assert 1994 <= time_range[0][0] and 1994 <= time_range[1][0]
    assert 1 <= time_range[0][1] <= 4 and 1 <= time_range[1][1] <= 4
    assert time_range[1][0] >= time_range[0][0]
    if time_range[1][0] == time_range[0][0]:
        assert time_range[1][1] >= time_range[0][1]
    list_qtr = []
    for year in range(time_range[0][0], time_range[1][0] + 1):
        for qtr in range(1, 5):
            if year == time_range[0][0]:
                if qtr < time_range[0][1]:
                    continue
            if year == time_range[1][0]:
                if qtr > time_range[1][1]:
                    break
            list_qtr.append((year, qtr))
    assert list_qtr[0] == time_range[0]
    assert list_qtr[-1] == time_range[1]
    return list_qtr
