public void TestAddAtOperation() { //Arrange const string cardNumber = "4343"; const string cardNumber2 = "12312"; const decimal withdrawalAmount = 53735; const decimal withdrawalFeeAmount = 343; const decimal withdrawalAmount2 = 12312; const decimal withdrawalFeeAmount2 = 234; //Act var result1 = _historyManager.AddAtOperation(cardNumber, withdrawalAmount, withdrawalFeeAmount); var result2 = _historyManager.AddAtOperation(cardNumber, withdrawalAmount2, withdrawalFeeAmount2); var result3 = _historyManager.AddAtOperation(cardNumber2, 0, 0); //Assert var historyCard1 = _historyManager.ATOperationHistory[cardNumber]; Assert.Equal(cardNumber, historyCard1[result1].CardNumber); Assert.Equal(withdrawalAmount, historyCard1[result1].Amount); Assert.Equal(withdrawalFeeAmount, historyCard1[result1].Fee); Assert.False(historyCard1[result1].OperationCompleted); Assert.Equal(result1, historyCard1[result1].OperationId); Assert.True((DateTime.UtcNow - historyCard1[result1].OperationDate).Milliseconds < 2000); Assert.Equal(cardNumber, historyCard1[result2].CardNumber); Assert.Equal(withdrawalAmount2, historyCard1[result2].Amount); Assert.Equal(withdrawalFeeAmount2, historyCard1[result2].Fee); Assert.False(historyCard1[result2].OperationCompleted); Assert.Equal(result2, historyCard1[result2].OperationId); Assert.True((DateTime.UtcNow - historyCard1[result2].OperationDate).Milliseconds < 2000); var historyCard2 = _historyManager.ATOperationHistory[cardNumber2]; Assert.Equal(cardNumber2, historyCard2[result3].CardNumber); Assert.Equal(0, historyCard2[result3].Amount); Assert.Equal(0, historyCard2[result3].Fee); Assert.False(historyCard2[result3].OperationCompleted); Assert.Equal(result3, historyCard2[result3].OperationId); Assert.True((DateTime.UtcNow - historyCard2[result3].OperationDate).Milliseconds < 2000); }