Ejemplo n.º 1
0
        public void Compute_CallsBothObjects()
        {
            // Arrange
            var astParserMock  = new Mock <IExpressionParser>();
            var evaluationMock = new Mock <IAstEvaluator>();

            var facade = new ExpressionEvaluationFacade(astParserMock.Object, evaluationMock.Object);

            // Act
            facade.Evaluate("test");

            // Assert
            astParserMock.Verify(m => m.Parse(It.IsAny <string>()), Times.Once);
            evaluationMock.Verify(m => m.Evaluate(It.IsAny <BinaryNode>()), Times.Once);
        }
Ejemplo n.º 2
0
        public void Compute_HandlesCoreException_ThrowsApiException()
        {
            // Arrange
            var astParserMock = new Mock <IExpressionParser>();

            astParserMock.Setup(m => m.Parse(It.IsAny <string>())).Throws(new ExpressionParserException("test"));
            var evaluationMock = new Mock <IAstEvaluator>();

            var facade = new ExpressionEvaluationFacade(astParserMock.Object, evaluationMock.Object);

            // Act
            var exception = Record.Exception(() => facade.Evaluate("test"));

            // Assert
            Assert.NotNull(exception);
            Assert.IsType <ExpressionEvaluationFacadeException>(exception);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="evaluationFacade">Expression evaluation facade</param>
 /// <param name="logger">Logger</param>
 public ExpressionEvaluationController(ExpressionEvaluationFacade evaluationFacade, ILogger <ExpressionEvaluationController> logger)
 {
     _evaluationFacade = evaluationFacade;
     _logger           = logger;
 }