'Creates 5 test notes by default & number of extra_notes will be created if specified.
If tags are not specified, will populate the notes with some test tag data.
If tags are specified, they will be used for each of the 3 notes that have tags.'

def _add_default_notes(self, tags=None, extra_notes=0):

    xblocks = self.course_fixture.get_nested_xblocks(category='html')
    self.raw_note_list = [Note(usage_id=xblocks[4].locator, user=self.username, course_id=self.course_fixture._course_key, text='First    note', quote='Annotate    this', updated=datetime(2011, 1, 1, 1, 1, 1, 1).isoformat()), Note(usage_id=xblocks[2].locator, user=self.username, course_id=self.course_fixture._course_key, text='', quote=u'Annotate    this', updated=datetime(2012, 1, 1, 1, 1, 1, 1).isoformat(), tags=(['Review', 'cool'] if (tags is None) else tags)), Note(usage_id=xblocks[0].locator, user=self.username, course_id=self.course_fixture._course_key, text='Third    note', quote='Annotate    this', updated=datetime(2013, 1, 1, 1, 1, 1, 1).isoformat(), ranges=[Range(startOffset=0, endOffset=18)], tags=(['Cool', 'TODO'] if (tags is None) else tags)), Note(usage_id=xblocks[3].locator, user=self.username, course_id=self.course_fixture._course_key, text='Fourth    note', quote='', updated=datetime(2014, 1, 1, 1, 1, 1, 1).isoformat(), tags=(['review'] if (tags is None) else tags)), Note(usage_id=xblocks[1].locator, user=self.username, course_id=self.course_fixture._course_key, text='Fifth    note', quote='Annotate    this', updated=datetime(2015, 1, 1, 1, 1, 1, 1).isoformat())]
    if (extra_notes > 0):
        for __ in range(extra_notes):
            self.raw_note_list.append(Note(usage_id=xblocks[random.choice([0, 1, 2, 3, 4, 5])].locator, user=self.username, course_id=self.course_fixture._course_key, text='Fourth    note', quote='', updated=datetime(2014, 1, 1, 1, 1, 1, 1).isoformat(), tags=(['review'] if (tags is None) else tags)))
    self._add_notes(self.raw_note_list)
