def __get_eligible_cases__(self): """ Returns a list of eligible cases using the settings object """ cases = get_cases_from_bwv(self.opening_date, self.projects, self.stadia) LOGGER.info("Total list of cases: {}".format(len(cases))) filter_stadia = self.__get_filter_stadia__() LOGGER.info("Filter stadia: {}".format(str(filter_stadia))) LOGGER.info("Exclude stadia: {}".format(str(self.exclude_stadia))) LOGGER.info("Projects: {}".format(str(self.projects))) LOGGER.info("Opening date: {}".format(str(self.opening_date))) filtered_cases = filter_cases(cases, filter_stadia) LOGGER.info("Total cases after filtering stadia: {}".format( len(filtered_cases))) filtered_cases = filter_out_cases(filtered_cases, self.exclude_stadia) LOGGER.info("Total cases after excluding stadia: {}".format( len(filtered_cases))) filtered_cases = filter_cases_with_missing_coordinates(filtered_cases) LOGGER.info( "Total cases after filtering on missing coordinates: {}".format( len(filtered_cases))) filtered_cases = filter_cases_with_postal_code(filtered_cases, self.postal_code_ranges) LOGGER.info("Total cases after filtering on postal codes: {}".format( len(filtered_cases))) exclude_cases = [{"id": case.case_id} for case in self.exclude_cases]
def test_filter_cases_no_stadia(self): case_a = {"stadium": ONDERZOEK_BUITENDIENST} case_b = {"stadium": ISSUEMELDING} case_c = {"stadium": TWEEDE_CONTROLE} cases = [case_a, case_b, case_c] result = filter_cases(cases, []) self.assertEquals(result, cases)
def test_filter_cases_one_stadium(self): case_a = {"stadium": ONDERZOEK_BUITENDIENST} case_b = {"stadium": ISSUEMELDING} case_c = {"stadium": TWEEDE_CONTROLE} cases = [case_a, case_b, case_c] result = filter_cases(cases, [TWEEDE_CONTROLE]) expected = [case_c] self.assertEquals(result, expected)
def test_filter_cases_empty(self): result = filter_cases([], [ONDERZOEK_BUITENDIENST, ISSUEMELDING]) self.assertEquals(result, [])