public void TestAddProduct_ShouldAddCorrectly()
        {
            var mockedProduct = new Mock <IProduct>();
            var category      = new MockedCategory();

            category.AddProduct(mockedProduct.Object);

            Assert.IsTrue(category.Products.Contains(mockedProduct.Object));
        }
        public void AddProduct_WhenProductParameterIsValid_ShouldAddToProducts()
        {
            var mockedCategory = new MockedCategory("test");
            var productStub    = new Mock <IProduct>();

            mockedCategory.AddProduct(productStub.Object);

            Assert.AreSame(mockedCategory.Products.First(), productStub.Object);
        }
        public void RemoveCosmetics_WhenProductParameterIsValid_ShouldRemoveProductFromProducts()
        {
            var mockedCategory = new MockedCategory("test");
            var productStub    = new Mock <IProduct>();

            mockedCategory.Products.Add(productStub.Object);

            mockedCategory.RemoveProduct(productStub.Object);

            Assert.IsFalse(mockedCategory.Products.Contains(productStub.Object));
        }
        public void AddCosmetics_WhenProductParamIsValid_ShouldAddProductToList()
        {
            // Arrange
            var mockedProduct = new Mock <IProduct>();
            var category      = new MockedCategory("ForMale");

            // Act
            category.AddProduct(mockedProduct.Object);

            // Assert
            Assert.IsTrue(category.Products.Contains(mockedProduct.Object));
        }
        public void RemoveCosmetics_WhenProductParamIsValid_ShouldRemoveProductFromList()
        {
            // Arrange
            var mockedProduct = new Mock <IProduct>();
            var category      = new MockedCategory("ForMale");

            category.Products.Add(mockedProduct.Object);

            // Act
            category.RemoveProduct(mockedProduct.Object);

            // Assert
            Assert.IsFalse(category.Products.Contains(mockedProduct.Object));
        }