示例#1
0
        public void RefreshUpdatesLightLevelTest()
        {
            // Arrange
            var mapCellsFactory            = new Func <IAreaMapCellInternal>(() => new Mock <IAreaMapCellInternal>().Object);
            var mapLightLevelProcessorMock = new Mock <IMapLightLevelProcessor>();

            var map = new AreaMap(1, mapCellsFactory, 30, 30, mapLightLevelProcessorMock.Object);

            // Act
            map.Refresh();

            // Assert
            Assert.AreEqual(
                mapLightLevelProcessorMock.Invocations.Select(invocation => invocation.Method.Name),
                new[]
            {
                nameof(IMapLightLevelProcessor.ResetLightLevel),
                nameof(IMapLightLevelProcessor.UpdateLightLevel)
            });     // Checks call order
            mapLightLevelProcessorMock.Verify(processor => processor.ResetLightLevel(map), Times.Once);
            mapLightLevelProcessorMock.Verify(processor => processor.UpdateLightLevel(map), Times.Once);
            mapLightLevelProcessorMock.VerifyNoOtherCalls();
        }