### Question:
TagsServiceImpl implements TagsService { @Override public List<Tag> findTipsAndTricksTagsByNames(List<String> tipsAndTricksTagNames) { List<String> lowerCaseTagNames = tipsAndTricksTagNames.stream() .map(String::toLowerCase) .collect(Collectors.toList()); List<Tag> tags = tagRepo.findTipsAndTricksTagsByNames(lowerCaseTagNames); if (tags.isEmpty()) { throw new TagNotFoundException(ErrorMessage.TAGS_NOT_FOUND); } return tags; }  @Override List<Tag> findEcoNewsTagsByNames(List<String> ecoNewsTagNames); @Override List<Tag> findTipsAndTricksTagsByNames(List<String> tipsAndTricksTagNames); @Override List<String> findAllEcoNewsTags(); @Override List<String> findAllTipsAndTricksTags(); @Override Boolean isAllTipsAndTricksValid(List<String> tipsAndTricksTagNames); @Override Boolean isValidNumOfUniqueTags(List<String> tagNames);  }### Answer:
@Test void findAllByNamesTest() { Tag tipsAndTricksTag = ModelUtils.getTag(); List<Tag> expected = Collections.singletonList(tipsAndTricksTag); when(tagRepo.findTipsAndTricksTagsByNames(Collections.singletonList(tipsAndTricksTag.getName()))) .thenReturn(expected); assertEquals(expected, tagService.findTipsAndTricksTagsByNames(Collections.singletonList(tipsAndTricksTag.getName()))); }
@Test void findAllByNamesFailedTest() { String name = ModelUtils.getTag().getName(); List<String> tipsAndTricksTagsNames = Collections.singletonList(name); when(tagRepo.findTipsAndTricksTagsByNames(tipsAndTricksTagsNames)).thenReturn(Collections.emptyList()); assertThrows(TagNotFoundException.class, () -> tagService.findTipsAndTricksTagsByNames(tipsAndTricksTagsNames)); }