public void Holds_Reservation_PurchaseFromHold_And_Purchase_Test(RealTimeInventory inventory, int toUpdate) { using (var testHelper = CreateInventoryServiceServer(inventory)) { const int looplength = 5; var operations = InventoryServiceSpecificationHelper.GetOperations(testHelper); var assertions = InventoryServiceSpecificationHelper.GetAssertions(); var updatedInventory = inventory; for (var i = 0; i < looplength; i++) { var selection = new Random().Next(1, operations.Count); var updatedInventoryMessage = operations[selection](updatedInventory, toUpdate).WaitAndGetOperationResult(); assertions[selection](updatedInventory, toUpdate, updatedInventoryMessage); updatedInventory = updatedInventoryMessage.RealTimeInventory as RealTimeInventory; } } }
public void Basic_Test() { var produltId = "sample" + Guid.NewGuid().ToString().Replace("-", ""); foreach (var request in new List <Tuple <RealTimeInventory, int> >() { new Tuple <RealTimeInventory, int>(new RealTimeInventory(produltId, 10, 0, 0), 2) // new Tuple<RealTimeInventory, int>(new RealTimeInventory(produltId, -8,8,11),-42), //new Tuple<RealTimeInventory, int>(new RealTimeInventory(produltId, -3,2,2),-17) }) { Enumerable.Range(1, 6).ForEach(oo => { using (var testHelper = CreateInventoryServiceServer(request.Item1)) { //var response = testHelper.ReserveAsync(request.Item1, request.Item2).WaitAndGetOperationResult(); // response = testHelper.ReserveAsync(request.Item1, request.Item2).WaitAndGetOperationResult(); var operation = InventoryServiceSpecificationHelper.GetOperations(testHelper)[oo]; InventoryServiceSpecificationHelper.GetAssertions()[oo](request.Item1, request.Item2, operation(request.Item1, request.Item2).WaitAndGetOperationResult()); } }); } }