Exemplo n.º 1
0
        public void Should_CallSingleLogEngineNTimes(int n)
        {
            // Arrange
            IReadOnlyCollection <ISquare> emptyList = new List <ISquare>();

            var logicEngine = new Mock <ILogicEngine>();

            logicEngine
            .Setup(x => x.TryDoStep(It.IsAny <IEnumerable <ISquare> >(), out emptyList, out emptyList))
            .ReturnsCount(i => i < n);

            var engine = new SolverEngine(Mock.Of <IMapHandler>(), new[] { logicEngine.Object });

            // Act
            foreach (var step in engine.RunStep())
            {
            }

            // Assert
            logicEngine.Verify(x => x.TryDoStep(It.IsAny <IEnumerable <ISquare> >(), out emptyList, out emptyList), Times.Exactly(n));
        }