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);
        }