コード例 #1
0
        public async Task Execute_ValidLength_ActorOpenedContainerAsync()
        {
            // ARRANGE
            var map = await SquareMapFactory.CreateAsync(10);

            var actorNode = map.Nodes.Cast <HexNode>().SelectBy(0, 0);

            var actorMock = new Mock <IActor>();

            actorMock.SetupGet(x => x.Node).Returns(actorNode);
            var actor = actorMock.Object;

            var containerNode = map.Nodes.Cast <HexNode>().SelectBy(1, 0);

            var container = CreateContainer(containerNode);

            var method = CreateMethod();

            var task = new OpenContainerTask(actor, container, method, map);



            // ACT
            task.Execute();



            // ASSERT
            actorMock.Verify(x => x.OpenContainer(It.IsAny <IPropContainer>(), It.IsAny <IOpenContainerMethod>()));
        }
コード例 #2
0
        public void Execute_CheckWalls_MapTargetIsOnLineInvoked()
        {
            // ARRANGE
            var mapMock = new Mock <ISectorMap>();

            mapMock.Setup(x => x.TargetIsOnLine(It.IsAny <IGraphNode>(), It.IsAny <IGraphNode>()))
            .Returns(true);
            var map = mapMock.Object;

            var actorNodeMock = new Mock <IGraphNode>();
            var actorNode     = actorNodeMock.Object;

            var actorMock = new Mock <IActor>();

            actorMock.SetupGet(x => x.Node).Returns(actorNode);
            var actor = actorMock.Object;

            var containerNodeMock = new Mock <IGraphNode>();
            var containerNode     = containerNodeMock.Object;

            var container = CreateContainer(containerNode);

            var method = CreateMethod();

            var task = new OpenContainerTask(actor, container, method, map);

            // ACT
            task.Execute();

            // ASSERT
            mapMock.Verify(x => x.TargetIsOnLine(
                               It.Is <IGraphNode>(n => n == actorNode),
                               It.Is <IGraphNode>(n => n == containerNode))
                           );
        }
コード例 #3
0
        public void Execute_ValidLength_ActorOpenedContainer()
        {
            // ARRANGE
            var map = new TestGridGenMap();

            var actorNode = map.Nodes.Cast <HexNode>().SelectBy(0, 0);

            var actorMock = new Mock <IActor>();

            actorMock.SetupGet(x => x.Node).Returns(actorNode);
            var actor = actorMock.Object;

            var containerNode = map.Nodes.Cast <HexNode>().SelectBy(1, 0);

            var container = CreateContainer(containerNode);

            var method = CreateMethod();

            var task = new OpenContainerTask(actor, container, method);



            // ACT
            task.Execute();



            // ASSERT
            actorMock.Verify(x => x.OpenContainer(It.IsAny <IPropContainer>(), It.IsAny <IOpenContainerMethod>()));
        }
コード例 #4
0
        public async Task Execute_ValidLength_ActorOpenedContainerAsync()
        {
            // ARRANGE
            var map = await SquareMapFactory.CreateAsync(10).ConfigureAwait(false);

            var actorNode = map.Nodes.SelectByHexCoords(0, 0);

            var actorMock = new Mock <IActor>();

            actorMock.SetupGet(x => x.Node).Returns(actorNode);
            var actor = actorMock.Object;

            var containerNode = map.Nodes.SelectByHexCoords(1, 0);

            var container = CreateContainer(containerNode);

            var method = CreateMethod();

            var sectorMock = new Mock <ISector>();

            sectorMock.SetupGet(x => x.Map).Returns(map);
            var sector = sectorMock.Object;

            var contextMock = new Mock <IActorTaskContext>();

            contextMock.SetupGet(x => x.Sector).Returns(sector);
            var context = contextMock.Object;

            var task = new OpenContainerTask(actor, context, container, method);

            // ACT
            task.Execute();

            // ASSERT
            actorMock.Verify(x => x.OpenContainer(It.IsAny <IStaticObject>(), It.IsAny <IOpenContainerMethod>()));
        }