public void Test_Delete()
        {
            string productName     = replaceProduct;
            string subCategoryName = replaceSubCategoryName;
            string categoryName    = replaceCategoryName;

            Category    category    = null;
            SubCategory subCategory = null;
            Product     product     = null;
            var         result      = categoryController.Delete(category).Result;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            result = subCategoryController.Delete(subCategory).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            result = productController.Delete(product).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            category    = DocumentDbRepository.GetCategory(categoryName);
            subCategory = DocumentDbRepository.GetSubCategory(subCategoryName, category);
            product     = DocumentDbRepository.GetProduct(productName, subCategory);


            result = categoryController.Delete(category).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            result = subCategoryController.Delete(subCategory).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            result = productController.Delete(product).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <string>));

            result = subCategoryController.Delete(subCategory).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <string>));

            result = categoryController.Delete(category).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <string>));
        }
        public void Delete_WithParameter42_ShouldBeCalledOnce()
        {
            // Arrange
            var actualId       = 7452;
            var mockRepository = new Mock <ISubCategoryRepository>();

            mockRepository
            .Setup(m => m.Delete(actualId));

            var controller = new SubCategoryController(mockRepository.Object);

            // Act
            controller.Delete(actualId);

            // Assert
            mockRepository
            .Verify(m => m.Delete(actualId), Times.Once());
        }