def METHOD_NAME(self, action_class):
    self.init_course_action_states(action_class)
    for course_action_state, filter_state, exclude_state in (
        (self.courses_with_state1, 'state1', None),  # filter for state1
        (self.courses_with_state2, 'state2', None),  # filter for state2
        (self.courses_with_state2 + self.courses_with_state3, None, 'state1'),  # exclude state1
        (self.courses_with_state1 + self.courses_with_state3, None, 'state2'),  # exclude state2
        (self.courses_with_state1, 'state1', 'state2'),  # filter for state1, exclude state2
        ([], 'state1', 'state1'),  # filter for state1, exclude state1
    ):
        self.assertCourseActionStatesEqual(
            course_action_state,
            action_class.objects.find_all(
                exclude_args=({'state': exclude_state} if exclude_state else None),
                should_display=True,
                **({'state': filter_state} if filter_state else {})
            )
        )