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); }
/// <summary> /// Create customer for CreateReservedTest /// </summary> /// <param name="testingContext">Our Test database</param> /// <returns>Created customer</returns> private async Task <Customer> customer(TestingContextDB testingContext) { serviceCreateCustomer = new CreateCustomerService(testingContext); await serviceCreateCustomer.CreateCustomer("Danya", "Posoxov", 1); serviceCustomer = new CustomerService(testingContext); return(await serviceCustomer.GetItemAsync(2)); }
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); }
public void CleanDb() { var Db = new TestingContextDB(); Db.Database.EnsureDeleted(); }