public void Delete_Removes_Scientist() { var scientistId = 1; var deletedScientist = new Scientist(scientistId, "First scientist"); var scientistList = new List <Scientist>() { deletedScientist, new Scientist(2, "Second second") }; scientistRepo.GetById(scientistId).Returns(deletedScientist); scientistRepo.When(d => d.Delete(deletedScientist)) .Do(d => scientistList.Remove(deletedScientist)); scientistRepo.GetAll().Returns(scientistList); var result = underTest.Delete(scientistId); Assert.DoesNotContain(deletedScientist, result); //Assert.All(result, item => Assert.Contains("second item", item.Name)); }