public void Test_ValidValues_NumberController() { // Arrange string number1 = "5", number2 = "6"; string sum = (int.Parse(number1) + int.Parse(number2)).ToString(); string logMessage = $"Timestamp= {DateTime.Now.ToString()},number1={number1} , number2={number2} , result={sum}"; _numbersList.Clear(); _numbersList = new string[] { number1, number2 }.ToList(); // Act _logger.Setup(it => it.LogActivity(It.IsAny <string>())).Verifiable(); _logger.Setup(it => it.GetAllActivityLogs()).Returns(() => new[] { logMessage }); var controller = new NumbersController(_logger.Object); var errorMsg = NumbersAPI.NumberValidator.Instance.ValidateStrings(_numbersList); var res = controller.AddNumbers(number1, number2) as ObjectResult; var value = res.Value as NumbersSumDto; var logResult = controller.GetAllLogs() as ObjectResult; // Assert Assert.Equal(200, res.StatusCode.Value); Assert.True(string.IsNullOrEmpty(errorMsg)); Assert.False(string.IsNullOrEmpty(value.TotalSum)); Assert.Equal(sum, value.TotalSum); Assert.Single(logResult.Value.ToString(), logMessage); }
public void AddNumbersShouldAddNumbersAndLogInformation() { // arrange string number1 = "5", number2 = "6"; string sum = (int.Parse(number1) + int.Parse(number2)).ToString(); string logMessage = $"Timestamp= {DateTime.Now.ToString()},number1={number1} , number2={number2} , result={sum}"; var mock_Logger = new Mock <ILogService>(); mock_Logger.Setup(it => it.Log(It.IsAny <string>())).Verifiable(); mock_Logger.Setup(it => it.GetAllLogs()).Returns(() => new[] { logMessage }); var mock_NumberCalculator = new Mock <INumberCalculator>(); mock_NumberCalculator.Setup(it => it.AddBigNumbers(number1, number2)).Returns(() => sum); var controller = new NumbersController(mock_Logger.Object, mock_NumberCalculator.Object); // act var result = (controller.Add(number1, number2) as OkNegotiatedContentResult <string>); var logResult = (controller.GetAllLogs() as OkNegotiatedContentResult <IList <string> >); // assert Assert.AreEqual(result.Content, sum); Assert.AreEqual(logResult.Content.Count, 1); Assert.AreEqual(logResult.Content[0], logMessage); }