public void RemoveTag_ShouldRemoveCorrectTag() { var fileId = repository.CreateMediaFile(new CreateMediaFileDto("C:/test.jpg", MediaFileType.IMAGE_TYPE, "")); var file = repository.GetMediaFile(fileId); var tagRepository = new TagRepository(); var expectedTags = new List <VideoTag>(); for (int i = 0; i < 3; ++i) { var tagId = tagRepository.CreateVideoTag(new CreateVideoTagDto("tag " + i, "test")); var tag = tagRepository.GetVideoTag(tagId); expectedTags.Add(tag); repository.AddTagToMediaFile(file, tag); } var deletedTagId = tagRepository.CreateVideoTag(new CreateVideoTagDto("tag deleted", "test")); var deletedTag = tagRepository.GetVideoTag(deletedTagId); repository.AddTagToMediaFile(file, deletedTag); repository.RemoveTagFromMediaFile(file, deletedTag); var tags = repository.GetMediaFileTags(file); CollectionAssert.AreEquivalent(expectedTags, tags); }