Ejemplo n.º 1
0
        public async Task Calculate_Should_Throw()
        {
            // Arrange
            var         equationValidatorMock = CreateEquationValidatorMock();
            var         loggerMock            = CreateLoggerMock <RoslynCalculator>();
            ICalculator calculator            = new RoslynCalculator(
                equationValidatorMock.Object,
                loggerMock.Object);

            // Act & Assert
            await Assert.ThrowsAsync <ArgumentNullException>(() =>
                                                             calculator.CalculateAsync(null, CancellationToken.None));
        }
Ejemplo n.º 2
0
        public async Task Calculate_Should_Succeed(string equation, decimal expected)
        {
            // Arrange
            var         equationValidatorMock = CreateEquationValidatorMock();
            var         loggerMock            = CreateLoggerMock <RoslynCalculator>();
            ICalculator calculator            = new RoslynCalculator(
                equationValidatorMock.Object,
                loggerMock.Object);

            // Act
            var result = await calculator.CalculateAsync(equation, CancellationToken.None);

            // Assert
            result.Should().Be(expected);
            equationValidatorMock.Verify(x
                                         => x.EnsureEquationIsValid(It.IsAny <string>()), Times.Once);
        }