public void Put_Updates_Scientist() { var originalScientist = new Scientist(1, "First scientist"); var expectedScientist = new List <Scientist>() { originalScientist }; var updatedScientist = new Scientist(1, "Updated scientist"); scientistRepo.When(t => scientistRepo.Update(updatedScientist)) .Do(Callback.First(t => expectedScientist.Remove(originalScientist)) .Then(t => expectedScientist.Add(updatedScientist))); scientistRepo.GetAll().Returns(expectedScientist); var result = underTest.Put(updatedScientist); Assert.Equal(expectedScientist, result.ToList()); //Assert.All(result, item => Assert.Contains("Updated item", item.Name)); }