public async void 削除先のFilePathがnullの場合削除しない()
        {
            // Arrange
            var id           = 100000;
            var announcement = new Announcement(
                new AnnouncementTitle("大会のお知らせ1"),
                "<h3>○○大会のおしらせ</h3>",
                AnnouncementGenre.News,
                new RegisteredDate(new DateTime(2020, 4, 1)),
                new EndDate(new DateTime(2020, 4, 30)),
                null
                );
            var mockRepository = new Mock <IAnnouncementRepository>();

            mockRepository.Setup(r => r.FindById(id))
            .ReturnsAsync(announcement)
            .Verifiable();
            var mockFileAccessor = new Mock <IFileAccessor>();
            var usecase          = new AnnouncementUseCase(mockRepository.Object, mockFileAccessor.Object);

            // Act
            await usecase.DeleteAttachedFile(id);

            // Assert
            mockRepository.Verify();
            mockRepository.VerifyNoOtherCalls();
        }
        public async void Fileの削除を行いお知らせを更新()
        {
            // Arrange
            var id           = 100000;
            var announcement = new Announcement(
                new AnnouncementTitle("大会のお知らせ1"),
                "<h3>○○大会のおしらせ</h3>",
                AnnouncementGenre.News,
                new RegisteredDate(new DateTime(2020, 4, 1)),
                new EndDate(new DateTime(2020, 4, 30)),
                new AttachedFilePath("/attached/filePath")
                );
            var mockRepository = new Mock <IAnnouncementRepository>();

            mockRepository.Setup(r => r.FindById(id))
            .ReturnsAsync(announcement)
            .Verifiable();
            var mockFileAccessor = new Mock <IFileAccessor>();
            var usecase          = new AnnouncementUseCase(mockRepository.Object, mockFileAccessor.Object);

            // Act
            await usecase.DeleteAttachedFile(id);

            // Assert
            mockRepository.Verify();
            mockRepository.Verify(u => u.Update(It.IsAny <Announcement>()), Times.Once());
            mockFileAccessor.Verify(u => u.DeleteAsync(It.IsAny <string>()), Times.Once());
        }