public async Task TestIfRefreshAmountChangesAmount() { var service = new TestDoubleAccountService(); var account = new AccountInfo(1, service); Assert.Equal(0, account.Amount); await account.RefreshAmount(); Assert.Equal(20, account.Amount); }
public async Task testRefreshAmountWhenCalledManyTimes() { List <Task> TaskList = new List <Task>(); var service = new TestDoubleAccountService(); service.amount = 100; var account = new AccountInfo(1, service); await account.RefreshAmount(); Assert.Equal(100, account.Amount); for (int i = 0; i < 3; i++) { Task task = Task.Run(() => { service.amount = i; account = new AccountInfo(1, service); account.RefreshAmount().Wait(); }); TaskList.Add(task); } Task.WaitAll(TaskList.ToArray()); Assert.Equal(3, account.Amount); }