public void CreateRestaurantAsync_Test() { var restaurantDataManager = new Mock <IRestaurantDataManager>(); var expected = new Restaurant() { Name = "seafood and such", Address = "123 bay street", City = "seaside", Id = 1 }; Restaurant actual = null; restaurantDataManager.Setup(x => x.CreateRestaurantAsync(It.IsAny <Restaurant>())).Callback <Restaurant>(x => { actual = x; }).Returns(Task.FromResult <Restaurant>(expected)); var restaurantRepo = new RestaurantRepository(restaurantDataManager.Object); var result = restaurantRepo.CreateRestaurantAsync(expected.Name, expected.Address, expected.City).Result; restaurantDataManager.VerifyAll(); Assert.IsNotNull(actual); Assert.AreEqual(expected.Name, actual.Name); Assert.AreEqual(expected.City, actual.City); Assert.AreEqual(expected.Address, actual.Address); }