def test_at_least_one_a_is_on_list_b(self): t = 'at least one country-budget-items[@vocabulary="1"]/budget-item/@code is on list BudgetIdentifier?' result = test.test_doc(self.FILEPATH, t, lists=self.LISTS) assert result['summary']['success'] == 48 assert result['summary']['fail'] == 499 assert result['summary']['not_relevant'] == 0 assert result['summary']['error'] == 0
def test_a_or_b_is_on_list_c_if_d_is_at_least_e(self): t = 'default-aid-type/@code or transaction/aid-type/@code is on list AidType (if activity-status/@code is at least 2)?' result = test.test_doc(self.FILEPATH, t, lists=self.LISTS) assert result['summary']['success'] == 2 assert result['summary']['fail'] == 545 assert result['summary']['not_relevant'] == 0 assert result['summary']['error'] == 0
def test_at_least_one_a_or_b_is_on_list_c(self): t = 'at least one sector[@vocabulary="DAC"]/@code or sector[not(@vocabulary)]/@code is on list Sector?' result = test.test_doc(self.FILEPATH, t, lists=self.LISTS) assert result['summary']['success'] == 20 assert result['summary']['fail'] == 527 assert result['summary']['not_relevant'] == 0 assert result['summary']['error'] == 0
def test_at_least_one_a_is_on_list_b_if_c_is_at_least_d_and_e_or_f_is_not_g_or_h(self): t = 'at least one country-budget-items[@vocabulary="1"]/budget-item/@code is on list BudgetIdentifier (if activity-status/@code is at least 2 and (default-aid-type/@code or transaction/aid-type/@code is not A01 or A02))?' result = test.test_doc(self.FILEPATH, t, lists=self.LISTS) assert result['summary']['success'] == 48 assert result['summary']['fail'] == 485 assert result['summary']['not_relevant'] == 14 assert result['summary']['error'] == 0
def test_a_exists_if_b_is_at_least_c_and_d_or_e_is_not_f_or_g(self): t = 'capital-spend exists (if activity-status/@code is at least 2 and (default-aid-type/@code or transaction/aid-type/@code is not A01 or A02))?' result = test.test_doc(self.FILEPATH, t) assert result['summary']['success'] == 0 assert result['summary']['fail'] == 257 assert result['summary']['not_relevant'] == 16 assert result['summary']['error'] == 0
def test_a_starts_with_b(self): t = 'iati-identifier/text() starts with reporting-org/@ref?' result = test.test_doc(self.FILEPATH, t) assert result['summary']['success'] == 273 assert result['summary']['fail'] == 0 assert result['summary']['not_relevant'] == 0 assert result['summary']['error'] == 0
def test_a_is_an_integer(self): t = 'participating-org/@type is an integer?' result = test.test_doc(self.FILEPATH, t) assert result['summary']['success'] == 273 assert result['summary']['fail'] == 0 assert result['summary']['not_relevant'] == 0 assert result['summary']['error'] == 0
def test_a_or_b_is_available_forward_by_quarters_if_c_is_at_least_d(self): t = 'budget or planned-disbursement is available forward by quarters (if activity-status/@code is at least 2)?' result = test.test_doc(self.FILEPATH, t) assert result['summary']['success'] == 0 assert result['summary']['fail'] == 22 assert result['summary']['not_relevant'] == 251 assert result['summary']['error'] == 0
def test_a_or_b_exists_if_c_is_at_least_d_and_e_is_not_f(self): t = 'conditions or document-link/category[@code="A04"] exists (if activity-status/@code is at least 2 and conditions/@attached is not 0)?' result = test.test_doc(self.FILEPATH, t) assert result['summary']['success'] == 13 assert result['summary']['fail'] == 178 assert result['summary']['not_relevant'] == 82 assert result['summary']['error'] == 0
def test_a_or_b_or_c_or_d_or_e_for_any_f_is_less_than_g(self): t = 'activity-date[@type="end-planned"]/@iso-date or activity-date[@type="end-planned"]/text() or activity-date[@type="end-actual"]/@iso-date or activity-date[@type="end-actual"]/text() or transaction-date/@iso-date (for any transaction[transaction-type/@code="D"]|transaction[transaction-type/@code="E"]) is less than 13 months ago?' result = test.test_doc(self.FILEPATH, t) assert result['summary']['success'] == 57 assert result['summary']['fail'] == 216 assert result['summary']['not_relevant'] == 0 assert result['summary']['error'] == 0
def check_nonlist_test(f, t): test.test_doc(f,t)