Exemplo n.º 1
0
        public void SetCostTest()
        {
            //Arrange
            decimal oldCost = 10;
            decimal newCost = 15;

            var context = new UPSContext(UPSContext.StringConnectToMainServer);

            var product = new Product(Guid.NewGuid().ToString(), oldCost);

            if (ProductController.AddProducts(context, product, context.Products.ToList()) is false)
            {
                Assert.Fail("Изменяемый продукт не был добавлен в БД!");
            }

            //Act
            decimal newCostOfThisProduct = ProductController.SetCost(newCost, product, context);
            decimal minusCostResult      = ProductController.SetCost(-1, product, context);
            decimal nullCostResult       = ProductController.SetCost(0, product, context);
            decimal nullProductResult    = ProductController.SetCost(newCost, null, context);

            //Assert
            Assert.AreEqual(newCost, newCostOfThisProduct);

            Assert.IsTrue(minusCostResult == -1);
            Assert.IsTrue(nullCostResult == -1);
            Assert.IsTrue(nullProductResult == -1);
        }
Exemplo n.º 2
0
        public void AddProductsTest()
        {
            //Arrange
            var            context    = new UPSContext(UPSContext.StringConnectToMainServer);
            List <Product> prodFromDb = context.Products.ToList();

            var product          = new Product($"TEST {Guid.NewGuid()}", 10);
            var productNullName  = new Product(null, 10);
            var productMinusCost = new Product($"TEST {Guid.NewGuid()}", -1);
            var productNull      = new Product(null, 0);

            //Act
            ProductController.AddProducts(context, product, prodFromDb);
            ProductController.AddProducts(context, productNullName, prodFromDb);
            ProductController.AddProducts(context, productMinusCost, prodFromDb);
            ProductController.AddProducts(context, productNull, prodFromDb);

            //Assert
            Assert.IsTrue(context.Products.Any(prod => prod.Name == product.Name));

            Assert.IsFalse(context.Products.Any(prod => prod.Name == null));
            Assert.IsFalse(context.Products.Any(prod => prod.Cost == -1));
            Assert.IsFalse(context.Products.Any(prod => prod.Name == null && prod.Cost == 0),
                           "В базе данных есть экземпляры Product с Null значениями имени и стоимости!");
        }
Exemplo n.º 3
0
        public void SetNameTest()
        {
            //Arrange
            var context = new UPSContext(UPSContext.StringConnectToMainServer);

            string oldNameOfProduct = "OldNameTest";
            string newNameOfProduct = "NewNameTest";

            var product = new Product(oldNameOfProduct, 10);

            if (ProductController.AddProducts(context, product, context.Products.ToList()) is false)
            {
                Assert.Fail("Изменяемый продукт не был добавлен в БД!");
            }

            //Act
            string newNameOfThisProduct  = ProductController.SetName(newNameOfProduct, product, context);
            string nullNameOfThisProduct = ProductController.SetName(null, product, context);
            string nullProduct           = ProductController.SetName(newNameOfProduct, null, context);

            //Assert
            Assert.AreEqual(newNameOfProduct, newNameOfThisProduct);

            Assert.IsNull(nullNameOfThisProduct);
            Assert.IsNull(nullProduct);
        }
Exemplo n.º 4
0
        private static void Main()
        {
            #region preliminaryData

            var      context  = new UPSContext(UPSContext.StringConnectToMainServer);
            Employee employee = null;

            #endregion

            #region authentication

            while (employee is null)
            {
                Console.WriteLine("Здравствуйте сотрудник, введите ваш ID.");

                if (int.TryParse(Console.ReadLine(), out int inputID) == false)
                {
                    continue;
                }

                employee = context.Employees.Find(inputID);
            }

            #endregion

            var productsFromDb = context.Products.ToList();

            #region actions

            while (true)
            {
                Console.Clear();
                Console.WriteLine($"Добро пожаловать, {employee.Name}!");


                Console.WriteLine("Вам доступно добавление продуктов, нажмите на A что-бы добавить их.");
                switch (Console.ReadKey(true).Key)
                {
                    #region key A (adding new product)

                case ConsoleKey.A:

                    var newProduct = new Product();

                    Console.Write("Название: ");
                    newProduct.Name = (Console.ReadLine());

                    Console.Write("Стоимость (в рублях): ");
                    newProduct.Cost = Convert.ToDecimal(Console.ReadLine());

                    if (string.IsNullOrWhiteSpace(newProduct.Name) == false &&
                        newProduct.Cost > 0)
                    {
                        if (ProductController.AddProducts(context, newProduct, productsFromDb))
                        {
                            Console.WriteLine("Продукт был успешно добавлен.");
                        }
                        else
                        {
                            Console.WriteLine("Продукт не был добавлен!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Проверьте корректность вводимых данных!");
                    }

                    Thread.Sleep(6000);
                    break;

                    #endregion
                }
            }

            #endregion
        }