Пример #1
0
        public void UpdateWarehouseDb()
        {
            var warehouseDb = new DbWarehouse();
            var prod        = new Product
            {
                Id          = 1,
                Category    = "category",
                Description = "ddeskr",
                Name        = "banan",
                Price       = 10
            };
            var shop = new Shop
            {
                Name        = "ShopName",
                Address     = "new addr",
                OpeningTime = "Manday Never",
                Chain       = new DbChain().GetChain(1),
                Cvr         = "12121212",
                Warehouses  = new List <Warehouse>()
            };
            var shopId = new DbShop().AddShop(shop);

            shop.Id = shopId;
            var warehouseToUpdate = new Warehouse(1, 1, prod, shop, null);
            var id = warehouseDb.AddWarehouse(warehouseToUpdate);

            warehouseToUpdate.Id = id;
            var warehouseNew = new Warehouse(id, 100, 50, prod, shop, 1);

            warehouseDb.UpdateWarehouse(warehouseNew);
            var updatedWarehouse = warehouseDb.GetWarehouse(id);

            Assert.AreEqual(warehouseNew.Stock, updatedWarehouse.Stock);
        }
Пример #2
0
        public void GetWarehouseFailDb()
        {
            var warehouseDb = new DbWarehouse();
            var rw          = warehouseDb.GetWarehouse(0);

            Assert.IsNull(rw);
        }
Пример #3
0
        public void GetAllWarehousesByShopIdDb()
        {
            var warehouseDb = new DbWarehouse();
            var count       = warehouseDb.GetAllWarehousesByShopId(1).Count;

            Assert.AreNotEqual(0, count);
        }
Пример #4
0
        public void GetWarehouseDb()
        {
            var warehouseDb = new DbWarehouse();

            var prod = new Product
            {
                Id          = 1,
                Category    = "category",
                Description = "ddeskr",
                Name        = "banan",
                Price       = 10
            };
            var shop = new Shop
            {
                Name        = "ShopName",
                Address     = "new addr",
                OpeningTime = "Manday Never",
                Chain       = new DbChain().GetChain(1),
                Cvr         = "12121212",
                Warehouses  = new List <Warehouse>()
            };
            var shopId = new DbShop().AddShop(shop);

            shop.Id = shopId;
            var warehouse = new Warehouse(10, 5, prod, shop, 1);
            var id        = warehouseDb.AddWarehouse(warehouse);
            var rw        = warehouseDb.GetWarehouse(id);

            Assert.IsNotNull(rw);
        }
        public void TestConcurrencyLessThenMaxAmount()
        {
            var i1 = 0;
            var i2 = 0;

            var prod = new Product("TestProd1", new decimal(10), "TestDescription", "Oste", "TestPath");
            var s    = new Shop("TestShop1", "TestAddress", "12345678", "OpeningTime", new DbChain().GetChain(1), new List <Warehouse>());

            //add product to database
            int prodId = new DbProduct().AddProduct(prod);

            prod.Id = prodId;
            //add shop to database
            var shopId = new DbShop().AddShop(s);

            s.Id = shopId;

            //add warehouse to databse and add it to shop
            var warehouse = new Warehouse(10, 0, prod, s, null);
            var warId     = new DbWarehouse().AddWarehouse(warehouse);

            warehouse.Id = warId;
            s.Warehouses.Add(warehouse);

            //make cart1 with part order
            var cart1 = new Cart();
            var po1   = new PartOrder(prod, 5, 20);

            cart1.PartOrders.Add(po1);
            cart1.PersonId = _cust.Id;
            cart1.ShopId   = s.Id;

            //make cart2 with part order
            var cart2 = new Cart();
            var po2   = new PartOrder(prod, 2, 20);

            cart2.PartOrders.Add(po2);
            cart2.PersonId = _cust1.Id;
            cart2.ShopId   = s.Id;

            //start 2 parallel queries
            var cartDb = new DbCart();

            Parallel.Invoke(() => { i1 = cartDb.AddCartWithPartOrders(cart1); }, () => { i2 = cartDb.AddCartWithPartOrders(cart2); });
            //var antal = new DbWarehouse().GetWarehouse(warId).Stock;
            var flag = 0;

            if (i1 == 0 || i2 == 0)
            {
                flag = 1;
            }
            Assert.AreEqual(1, flag);
        }