'Test show_correctness="past_due" to ensure:
* correctness is always visible to course staff
* correctness is always visible to everyone if there is no due date
* correctness is visible to learners after the due date, when there is a due date.'

@ddt.data(('tomorrow', False, False), ('yesterday', False, True), ('today', False, True), (None, False, True), ('tomorrow', True, True), ('yesterday', True, True), (None, True, True))
@ddt.unpack
def test_show_correctness_past_due(self, due_date_str, has_staff_access, expected_result):

    if (due_date_str is None):
        due_date = None
    else:
        due_date = getattr(self, due_date_str)
    self.assertEquals(ShowCorrectness.correctness_available(ShowCorrectness.PAST_DUE, due_date, has_staff_access), expected_result)
