public void UpdateSongTest() { Mock <ISongRepository> songRepositoryMock = new Mock <ISongRepository>(); Mock <IAlbumRepository> albumRepositoryMock = new Mock <IAlbumRepository>(); songRepositoryMock.Setup(s => s.Update(It.IsAny <Song>())).Callback <Song>(s => { songs = songs.Where(s2 => s2.Id != s.Id).ToList(); songs.Add(s); }); songRepositoryMock.Setup(s => s.FindOne(1)).Returns(songs.Where(s => s.Id == 1).SingleOrDefault()); albumRepositoryMock.Setup(a => a.FindOne(1)).Returns(new Album { Id = 1, Name = "TestAlbum" }); ISongService songService = new SongService(songRepositoryMock.Object, albumRepositoryMock.Object); Song song = songService.FindById(1); song.Album = new Album { Id = 1 }; song.Title = "ChangedTitle"; songService.Update(song); song = songService.FindById(1); Assert.AreEqual(song.Title, "ChangedTitle"); }
public void DeleteSongTest() { Mock <ISongRepository> songRepositoryMock = new Mock <ISongRepository>(); var songId1 = songs.Where(s => s.Id == 1).ToList(); songRepositoryMock.Setup(s => s.Delete(It.IsAny <Song>())).Callback <Song>(s => songs.Remove(s)); songRepositoryMock.Setup(s => s.FindOne(It.IsAny <long>())).Returns <long>(l => songs.Where(s => s.Id == l).SingleOrDefault()); ISongService songService = new SongService(songRepositoryMock.Object, null); songService.Delete(1); Assert.AreEqual(null, songService.FindById(1)); songService.Delete(1); }