public void Put_Updates_Business() { var originalBusiness = new Business(1, "Name", "Industry", "Image", 1);; var expectedBusiness = new List <Business>() { originalBusiness }; var updatedBusiness = new Business(1, "Name", "Industry", "Image", 1); businessRepo.When(t => businessRepo.Update(updatedBusiness)) .Do(Callback.First(t => expectedBusiness.Remove(originalBusiness)) .Then(t => expectedBusiness.Add(updatedBusiness))); businessRepo.GetAll().Returns(expectedBusiness); var result = underTest.Put(updatedBusiness); // Assert.Equal(expectedTodos, result.ToList()); Assert.All(result, item => Assert.Contains("Updated item", item.Name)); }