public async Task Transactions_sum_up_to_zero() { const int NumTransactions = 100000; var commandTask = Task.Run(() => { foreach (var randomTransferCommand in RandomTransferCommands(NumTransactions / 2)) { _kernel.Execute(randomTransferCommand, e => { }); } }); var queryTask = Task.Run(() => { for (int i = 0; i < NumTransactions / 2; i++) { var query = new AccountsSummed(); var sum = _kernel.Execute(query); //the sum at any given point in time should always be 0 Assert.AreEqual(0, sum); } }); await Task.WhenAll(commandTask, queryTask); }
public void Transactions_sum_up_to_zero() { var commandTask = Task.Run(() => { foreach (var randomTransferCommand in RandomTransferCommands(100000)) { _kernel.Execute(randomTransferCommand, e => { }); } }); int totalSum = 0; var queryTask = Task.Run(() => { for (int i = 0; i < 1000000; i++) { var query = new AccountsSummed(); totalSum += (int)_kernel.Execute(query); } }); Task.WaitAll(commandTask, queryTask); Assert.Equal(0, totalSum); }