public void CreateCategory_WhenNameParamIsNullOrEmpty_ShouldThrowNullReferenceException(string nameParam)
        {
            // Arrange.
            var cosmeticFactory = new CosmeticsFactory();

            // Act & Assert.
            Assert.Throws <NullReferenceException>(() => cosmeticFactory.CreateCategory(nameParam));
        }
예제 #2
0
        public void CreateCategory_ShouldThrowIndexOutOfRangeException_IfNameLengthIsOutOfRange(string name)
        {
            //Arrange
            var cosmeticsFactory = new CosmeticsFactory();

            //Act and Assert
            Assert.Throws <IndexOutOfRangeException>(() => cosmeticsFactory.CreateCategory(name));
        }
        public void CreateShampoo_WhenCreateShampooIsCalled()
        {
            var factory = new CosmeticsFactory();

            var shampoo = factory.CreateShampoo("Pesho", "Nivea", 2.50m, GenderType.Men, 500, UsageType.EveryDay);

            Assert.IsInstanceOf(typeof(Shampoo), shampoo);
        }
        public void CreateCategory_WhenCreateCategoryIsCalled()
        {
            var factory = new CosmeticsFactory();

            var category = factory.CreateCategory("Pesho");

            Assert.IsInstanceOf(typeof(Category), category);
        }
        public void CreateCategory_WhenNameParamLenghtIsOutOfRange_ShouldThrowIndexOutOfRangeException(string nameParam)
        {
            // Arrange.
            var cosmeticFactory = new CosmeticsFactory();

            // Act & Assert.
            Assert.Throws <IndexOutOfRangeException>(() => cosmeticFactory.CreateCategory(nameParam));
        }
        public void ThrowIndexOutOfRangeException_WhenPasedNameLengthIsInvalid(string name)
        {
            // arrange
            var factory = new CosmeticsFactory();

            // act and assert
            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateCategory(name));
        }
예제 #7
0
        public void ThrowIndexOutOfRangeException_WhenThePassedBrandParamLengthIsOutOfThePermittedRange(string name)
        {
            //Arrange
            var factory = new CosmeticsFactory();

            // Act & Assert
            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateShampoo(name, "brand", 2.1m, 0, 200, 0));
        }
예제 #8
0
        public void ThrowNullRefException_WhenThePassedBrandParamIsNullOrEmpty(string name)
        {
            //Arrange
            var factory = new CosmeticsFactory();

            // Act & Assert
            Assert.Throws <NullReferenceException>(() => factory.CreateShampoo(name, "brand", 2.1m, 0, 200, 0));
        }
        public void ThrowNullRefException_WhenThePassedNameParamIsNullOrEmpty(string name)
        {
            //Arrange
            var factory = new CosmeticsFactory();

            // Act & Assert
            Assert.Throws <NullReferenceException>(() => factory.CreateCategory(name));
        }
        public void ThrowIndexOutOfRangeException_WhenThePassedNameParamLengthIsOutOfThePermittedRange(string name)
        {
            //Arrange
            var factory = new CosmeticsFactory();

            // Act & Assert
            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateCategory(name));
        }
        public void CreateShampoo_WhenNameParamIsNullOrEmpty_ShouldThrowNullReferenceException(string nameParam)
        {
            // Arrange.
            var cosmeticFactory = new CosmeticsFactory();

            // Act & Assert.
            Assert.Throws <NullReferenceException>(() => cosmeticFactory.CreateShampoo(nameParam, "example", 10.0M, GenderType.Men, 100, UsageType.EveryDay));
        }
        public void TestCreateShoppingCart_ShouldInitialiseCorrectly()
        {
            var factory = new CosmeticsFactory();
            var cart    = factory.CreateShoppingCart();

            Assert.IsNotNull(cart);
            Assert.IsTrue(cart.GetType().Name == "ShoppingCart");
        }
예제 #13
0
        public void CreateCategory_ShouldThrowNullReferenceException_IfNameIsInvalid(string name)
        {
            //Arrange
            var cosmeticsFactory = new CosmeticsFactory();

            //Act and Assert
            Assert.Throws <NullReferenceException>(() => cosmeticsFactory.CreateCategory(name));
        }
        public void CreateShoppingCart_WhenShoppingCartIsCalled()
        {
            var factory = new CosmeticsFactory();

            var shoppingcart = factory.ShoppingCart();

            Assert.IsInstanceOf(typeof(ShoppingCart), shoppingcart);
        }
예제 #15
0
        public void CreateShampoo_WhenNameParamLenghtIsOutOfRange_ShouldThrowIndexOutOfRangeException(string nameParam)
        {
            // Arrange
            var cosmeticFactory = new CosmeticsFactory();

            // Act && Assert
            Assert.Throws <IndexOutOfRangeException>(() => cosmeticFactory.CreateShampoo(nameParam, "example", 10.0M, GenderType.Men, 100, UsageType.EveryDay));
        }
예제 #16
0
        public static void Main()
        {
            var factory      = new CosmeticsFactory();
            var shoppingCart = new ShoppingCart();
            var engine       = new CosmeticsEngine(factory, shoppingCart);

            engine.Start();
        }
        public void CreateShampoo_WhenBrandParamLenghtIsOutOfRange_ShouldThrowIndexOutOfRangeException(string brandParam)
        {
            // Arrange.
            var cosmeticFactory = new CosmeticsFactory();

            // Act & Assert.
            Assert.Throws <IndexOutOfRangeException>(() => cosmeticFactory.CreateShampoo("example", brandParam, 10.0M, GenderType.Unisex, 100, UsageType.Medical));
        }
        public void CreateShampoo_WhenBrandParamIsNullOrEmpty_ShouldThrowNullReferenceException(string brandParam)
        {
            // Arrange.
            var cosmeticFactory = new CosmeticsFactory();

            // Act & Assert.
            Assert.Throws <NullReferenceException>(() => cosmeticFactory.CreateShampoo("example", brandParam, 10.0M, GenderType.Unisex, 100, UsageType.Medical));
        }
        public void CreateToothpaste_WhenIngredientsHaveInvalidLenght_ShouldThrowIndexOutOfRangeException(params string[] ingredients)
        {
            // Arrange
            var cosmeticFactory = new CosmeticsFactory();

            // Act && Assert
            Assert.Throws <IndexOutOfRangeException>(() => cosmeticFactory.CreateToothpaste("Gosho", "example", 10M, GenderType.Unisex, ingredients.ToList()));
        }
        public void TestCreateToothpaste_PassInvalidName_ShouldTHrowNullReferenceException(string name)
        {
            var factory = new CosmeticsFactory();

            Assert.Throws <NullReferenceException>(() => factory.CreateToothpaste(name, "example", 10M, GenderType.Unisex, new List <string>()
            {
                "Zele", "Chesun"
            }));
        }
        public void TestCreateCategory_PassValidParameters_ShouldCreateCategory(string name)
        {
            var factory  = new CosmeticsFactory();
            var category = factory.CreateCategory(name);

            Assert.IsNotNull(category);
            Assert.IsTrue(category.Name == name);
            Assert.IsTrue(category.GetType().Name == "Category");
        }
        public void TestCreateShampoo_PassValidParameters_ShouldCreateShampoo(string name, string brand)
        {
            var factory = new CosmeticsFactory();
            var shampoo = factory.CreateShampoo(name, brand, 10.0M, GenderType.Men, 100, UsageType.EveryDay);

            Assert.IsNotNull(shampoo);
            Assert.IsTrue(shampoo.Name == name);
            Assert.IsTrue(shampoo.Brand == brand);
        }
        public void TestCreateToothpaste_PassLongerName_ShouldTHrowIndexOutOfRange(string name)
        {
            var factory = new CosmeticsFactory();

            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateToothpaste(name, "example", 10M, GenderType.Unisex, new List <string>()
            {
                "Zele", "Chesun"
            }));
        }
        public void TestCreateToothpaste_PassLongerCOmponents_ShouldThrowINdexOutOfRange(string description)
        {
            var factory = new CosmeticsFactory();

            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateToothpaste("name", "brand", 10M, GenderType.Unisex, new List <string>()
            {
                description, "Chesun"
            }));
        }
예제 #25
0
        public static void Main()
        {
            var factory              = new CosmeticsFactory();
            var shoppingCart         = new ShoppingCart();
            var consoleCommandParser = new ConsoleCommandParser();
            var engine = new CosmeticsEngine(factory, shoppingCart, consoleCommandParser);

            engine.Start();
        }
예제 #26
0
        public void CreateShampoo_ShouldThrowNullReferenceException_IfNameOrBrandIsInvalid(string name, string brand)
        {
            //Arrange
            var cosmeticsFactory = new CosmeticsFactory();

            //Act and Assert
            Assert.Throws <NullReferenceException>(() =>
                                                   cosmeticsFactory.CreateShampoo(name, brand, price, gender, milliliters, usage));
        }
예제 #27
0
        public void CreateShampoo_ShouldThrowIndexOutOfRangeException_IfNameOrBrandLengthIsOutOfRange
            (string name, string brand)
        {
            //Arrange
            var cosmeticsFactory = new CosmeticsFactory();

            //Act and Assert
            Assert.Throws <IndexOutOfRangeException>(() =>
                                                     cosmeticsFactory.CreateShampoo(name, brand, price, gender, milliliters, usage));
        }
예제 #28
0
        public void CreateCategory_ShouldThrowIndexOutOfRangeException_WhenPassedTooShortNameParameter()
        {
            // Arrange
            string name = "2";

            var factory = new CosmeticsFactory();

            // Act & Assert
            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateCategory(name));
        }
예제 #29
0
        public void CreateCategory_ShouldThrowIndexOutOfRangeException_WhenPassedTooLongNameParameter()
        {
            // Arrange
            string name = "ANameThatIsOverFifteenCharachtersLong";

            var factory = new CosmeticsFactory();

            // Act & Assert
            Assert.Throws <IndexOutOfRangeException>(() => factory.CreateCategory(name));
        }
        public void CreateToothpaste_WhenCreateToothpasteIsCalled()
        {
            var factory = new CosmeticsFactory();

            var toothpaste = factory.CreateToothpaste("Pesho", "Nivea", 2.50m, GenderType.Men, new List <string> {
                "garlic"
            });

            Assert.IsInstanceOf(typeof(Toothpaste), toothpaste);
        }