示例#1
0
        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);
        }
示例#2
0
        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);
        }