### Question:
TagsHelper { public static Pair<String, List<Tag>> addTagToNote (List<Tag> tags, Integer[] selectedTags, Note note) { StringBuilder sbTags = new StringBuilder(); List<Tag> tagsToRemove = new ArrayList<>(); HashMap<String, Integer> tagsMap = retrieveTags(note); List<Integer> selectedTagsList = Arrays.asList(selectedTags); for (int i = 0; i < tags.size(); i++) { if (mapContainsTag(tagsMap, tags.get(i))) { if (!selectedTagsList.contains(i)) { tagsToRemove.add(tags.get(i)); } } else { if (selectedTagsList.contains(i)) { if (sbTags.length() > 0) { sbTags.append(" "); } sbTags.append(tags.get(i)); } } } return Pair.create(sbTags.toString(), tagsToRemove); }  static List<Tag> getAllTags(); static HashMap<String, Integer> retrieveTags(Note note); static Pair<String, List<Tag>> addTagToNote(List<Tag> tags, Integer[] selectedTags, Note note); static Pair<String, String> removeTag(String noteTitle, String noteContent, List<Tag> tagsToRemove); static String[] getTagsArray(List<Tag> tags); static Integer[] getPreselectedTagsArray(Note note, List<Tag> tags); static Integer[] getPreselectedTagsArray(List<Note> notes, List<Tag> tags);  }### Answer:
@Test public void addsTagsToNote () { String newTag = "#addedTag"; List<Tag> tags = new ArrayList<>(); tags.add(new Tag(newTag, 1)); tags.add(TAG2); Pair<String, List<Tag>> newTags = TagsHelper.addTagToNote(tags, new Integer[]{0, 1}, note); assertTrue(newTags.first.contains(newTag)); assertFalse(newTags.first.contains(TAG2.getText())); }