Exemple #1
0
        public void FinalMultiThreadedTest()
        {
            ConcurrentBag <Reserved> bag           = new ConcurrentBag <Reserved>();
            List <Reserved>          reservedsList = new List <Reserved>();

            Parallel.For(0, 10, i =>
            {
                var context          = new TestingContextDB();
                var service          = new CreateReservedService(context);
                var availableProduct = new AvailableProductService(context);
                for (var j = 0; j < 1000; j++)
                {
                    var amountOfRandom = new Random().Next(1, 3);
                    var product        = availableProduct.GetItemAsync(1).GetAwaiter().GetResult();
                    if (product != null && (product.Amount - amountOfRandom) >= 0)
                    {
                        product.Amount -= amountOfRandom;
                        var result      = service.CreateReservedAsync(Customer(context).GetAwaiter().GetResult(), product, amountOfRandom)
                                          .GetAwaiter()
                                          .GetResult();
                        if (result != null)
                        {
                            bag.Add(result);
                        }
                    }
                }
            });
            Assert.IsTrue(bag.Count > 0);
        }
        public async Task CreateReservedOneTest()
        {
            var context = new TestingContextDB();

            servicePayment = new PaymentMethodService(context);
            var serviceProduct   = new AvailableProductService(context);
            var availableProduct = await serviceProduct.GetItemAsync(1);

            service.CreateReservedAsync(customer(context).GetAwaiter().GetResult(), availableProduct
                                        , new Random().Next(1, 3))
            .GetAwaiter()
            .GetResult();
            var serviceReserved = new ReservedService(new TestingContextDB());
            var count           = serviceReserved.GetItemsAsync().GetAwaiter().GetResult().Count();

            Assert.AreEqual(2, count);
        }
Exemple #3
0
 public void Init() => service = new AvailableProductService(new TestingContextDB());