Example #1
0
    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, [])