'Scenario: I can answer a problem correctly
Given External graders respond "correct"
And I am viewing a "<ProblemType>" problem
When I answer a "<ProblemType>" problem "correctly"
Then my "<ProblemType>" answer is marked "correct"
And The "<ProblemType>" problem displays a "correct" answer
And a success notification is shown
And clicking on "Review" moves focus to the problem meta area
And a "problem_check" server event is emitted
And a "problem_check" browser event is emitted'

@attr(shard=7)
def test_answer_correctly(self):

    self.problem_page.wait_for((lambda : (self.problem_page.problem_name == self.problem_name)), 'Make    sure    the    correct    problem    is    on    the    page')
    self.answer_problem(correctness='correct')
    self.problem_page.click_submit()
    self.wait_for_status('correct')
    self.problem_page.wait_success_notification()
    self.problem_page.click_review_in_notification(notification_type='submit')
    self.problem_page.wait_for_focus_on_problem_meta()
    expected_events = [{'event_source': 'server', 'event_type': 'problem_check', 'username': self.username}, {'event_source': 'browser', 'event_type': 'problem_check', 'username': self.username}]
    for event in expected_events:
        self.wait_for_events(event_filter=event, number_of_matches=1)
