예제 #1
0
def test_forwardlooking_is_current():
    activity_stats = ActivityStats()

    # If there are no end dates, the activity is current
    activity_stats.element = etree.fromstring('''<iati-activity>
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = etree.fromstring('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="start-planned" />
        <activity-date iso-date="9980-01-01" type="start-actual" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)

    # If there is an end date before the given year, it's not current
    activity_stats.element = etree.fromstring('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="end-planned" />
    </iati-activity>''')
    assert not activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = etree.fromstring('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="end-actual" />
    </iati-activity>''')
    assert not activity_stats._forwardlooking_is_current(9990)

    # If there is an end date on or after the given year, it is current
    activity_stats.element = etree.fromstring('''<iati-activity>
        <activity-date iso-date="9990-01-01" type="end-planned" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = etree.fromstring('''<iati-activity>
        <activity-date iso-date="9990-01-01" type="end-actual" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = etree.fromstring('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="end-planned" />
        <activity-date iso-date="9990-01-01" type="end-actual" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
예제 #2
0
def test_forwardlooking_is_current_2xx():
    activity_stats = ActivityStats()

    # If there are no end dates, the activity is current
    activity_stats.element = wrap_activity('''<iati-activity>
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = wrap_activity('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="1" />
        <activity-date iso-date="9980-01-01" type="2" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)

    # If there is an end date before the given year, it's not current
    activity_stats.element = wrap_activity('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="3" />
    </iati-activity>''')
    assert not activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = wrap_activity('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="4" />
    </iati-activity>''')
    assert not activity_stats._forwardlooking_is_current(9990)

    # If there is an end date on or after the given year, it is current
    activity_stats.element = wrap_activity('''<iati-activity>
        <activity-date iso-date="9990-01-01" type="3" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = wrap_activity('''<iati-activity>
        <activity-date iso-date="9990-01-01" type="4" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)
    activity_stats.element = wrap_activity('''<iati-activity>
        <activity-date iso-date="9980-01-01" type="3" />
        <activity-date iso-date="9990-01-01" type="4" />
    </iati-activity>''')
    assert activity_stats._forwardlooking_is_current(9990)