Object() public méthode

public Object ( bool newInstance = false ) : Mock
newInstance bool
Résultat Mock
Exemple #1
0
        public async Task RoomProperlyRendered_Test()
        {
            int threadID = AGSGame.UIThreadID;

            AGSGame.UIThreadID = Environment.CurrentManagedThreadId;
            try
            {
                _mocks.Room().Setup(m => m.ShowPlayer).Returns(false);
                AGSViewport viewport = new AGSViewport(new AGSDisplayListSettings(), new AGSCamera());
                viewport.RoomProvider = new AGSSingleRoomProvider(_mocks.Room().Object);
                _mocks.GameState().Setup(m => m.Viewport).Returns(viewport);
                _areas.Clear(); _areas.Add(getArea());
                _roomObjects.Clear(); _roomObjects.Add(_mocks.Object(true).Object);
                _uiObjects.Clear(); _uiObjects.Add(_mocks.Object(true).Object);

                IRendererLoop loop = getLoop();
                Assert.IsTrue(loop.Tick()); //First tick just to tell the display list about our viewport, the second tick will have the objects to render
                await _events.OnRepeatedlyExecute.InvokeAsync();

                Assert.IsTrue(loop.Tick());
                _renderer.Verify(r => r.Render(It.IsAny <IObject>(), It.IsAny <IViewport>()), Times.Exactly(2));
            }
            finally
            {
                AGSGame.UIThreadID = threadID;
            }
        }
Exemple #2
0
        public void TreeNode_AddChildren_Test()
        {
            Mocks mocks  = new Mocks();
            var   parent = mocks.Object(true);

            var child1        = mocks.Object(true);
            var child2        = mocks.Object(true);
            var childrenToAdd = new List <IObject> {
                child1.Object, child2.Object
            };

            AGSTreeNode <IObject> parentNode = new AGSTreeNode <IObject>(parent.Object);
            AGSTreeNode <IObject> child1Node = new AGSTreeNode <IObject>(child1.Object);
            AGSTreeNode <IObject> child2Node = new AGSTreeNode <IObject>(child2.Object);

            child1.Setup(c => c.TreeNode).Returns(child1Node);
            child2.Setup(c => c.TreeNode).Returns(child2Node);

            parentNode.AddChildren(childrenToAdd);

            Assert.AreEqual(parent.Object, child1Node.Parent);
            Assert.AreEqual(parent.Object, child2Node.Parent);
            Assert.AreEqual(child1.Object, parentNode.Children[0]);
            Assert.AreEqual(child2.Object, parentNode.Children[1]);
            Assert.IsTrue(parentNode.HasChild(child1.Object));
            Assert.IsTrue(parentNode.HasChild(child2.Object));
        }
Exemple #3
0
        public void RoomProperlyRendered_Test()
        {
            _mocks.Room().Setup(m => m.ShowPlayer).Returns(false);
            _areas.Clear(); _areas.Add(getArea());
            _roomObjects.Clear(); _roomObjects.Add(_mocks.Object(true).Object);
            _uiObjects.Clear(); _uiObjects.Add(_mocks.Object(true).Object);

            IRendererLoop loop = getLoop();

            Assert.IsTrue(loop.Tick());
            _renderer.Verify(r => r.Render(It.IsAny <IObject>(), It.IsAny <IViewport>()), Times.Exactly(2));
        }
        public void RoomProperlyRendered_Test()
        {
            int threadID = AGSGame.UIThreadID;

            AGSGame.UIThreadID = Environment.CurrentManagedThreadId;
            try
            {
                _mocks.Room().Setup(m => m.ShowPlayer).Returns(false);
                AGSViewport viewport = new AGSViewport(new AGSDisplayListSettings(), new AGSCamera(), Mocks.GetResolver());
                viewport.RoomProvider = new AGSSingleRoomProvider(_mocks.Room().Object);
                _mocks.GameState().Setup(m => m.Viewport).Returns(viewport);
                _mocks.GameState().Setup(m => m.GetSortedViewports()).Returns(new List <IViewport> {
                    _mocks.GameState().Object.Viewport
                });
                _areas.Clear(); _areas.Add(getArea());
                var roomObj = _mocks.Object(true);
                var uiObj   = _mocks.Object(true);
                roomObj.Setup(c => c.ID).Returns("roomObj");
                uiObj.Setup(c => c.ID).Returns("uiObj");
                _roomObjects.Clear(); _roomObjects.Add(roomObj.Object);
                _uiObjects.Clear(); _uiObjects.Add(uiObj.Object);

                var displayList = getDisplayList();
                var pipeline    = getPipeline(displayList);

                var roomRenderer    = new Mock <IRenderer>();
                var uiRenderer      = new Mock <IRenderer>();
                var roomInsturction = new Mock <IRenderInstruction>();
                var uiInstruction   = new Mock <IRenderInstruction>();
                roomRenderer.Setup(r => r.GetNextInstruction(_mocks.GameState().Object.Viewport)).Returns(roomInsturction.Object);
                uiRenderer.Setup(r => r.GetNextInstruction(_mocks.GameState().Object.Viewport)).Returns(uiInstruction.Object);
                pipeline.Subscribe("roomObj", roomRenderer.Object);
                pipeline.Subscribe("uiObj", uiRenderer.Object);

                IRendererLoop loop = getLoop(displayList, pipeline);
                Assert.IsTrue(loop.Tick()); //First tick just to tell the display list about our viewport, the second tick will have the objects to render
                displayList.GetDisplayList(_mocks.GameState().Object.Viewport);
                displayList.Update();
                pipeline.Update();
                Assert.IsTrue(loop.Tick());
                roomInsturction.Verify(r => r.Render(), Times.Once);
                uiInstruction.Verify(r => r.Render(), Times.Once);
            }
            finally
            {
                AGSGame.UIThreadID = threadID;
            }
        }
Exemple #5
0
        public static Mocks Init()
        {
            ContainerBuilder builder = new ContainerBuilder();
            Mocks            mocks   = new Mocks();

            builder.RegisterInstance(mocks.Animation().Object);
            builder.RegisterInstance(mocks.AnimationState().Object);
            builder.RegisterInstance(mocks.GameState().Object);
            builder.RegisterInstance(mocks.Game().Object);
            builder.RegisterInstance(mocks.Player().Object);
            builder.RegisterInstance(mocks.Character().Object);
            builder.RegisterInstance(mocks.Room().Object);
            builder.RegisterInstance(mocks.Object().Object);
            builder.RegisterInstance(mocks.Viewport().Object);
            builder.RegisterInstance(mocks.Sprite().Object);
            builder.RegisterInstance(mocks.Image().Object);
            builder.RegisterInstance(mocks.Input().Object);
            builder.RegisterInstance(mocks.Cutscene().Object);
            builder.RegisterInstance(mocks.RoomTransitions().Object);
            builder.RegisterInstance(mocks.AudioSystem().Object);
            builder.RegisterInstance(new Mock <IRenderMessagePump> ().Object);
            builder.RegisterInstance(new Mock <IUpdateMessagePump>().Object);
            builder.RegisterInstance(new Mock <IGameEvents>().Object);
            builder.RegisterInstance(new Mock <IDisplayList>().Object);
            builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());

            mocks.container = builder.Build();

            return(mocks);
        }
Exemple #6
0
        public int Camera_FollowX_Test(float currentViewX, float targetPosX,
                                       int roomWidth, int screenWidth, float speedX)
        {
            AGSCamera camera = new AGSCamera(speedX, 0f);

            _mocks.Object().Setup(o => o.X).Returns(targetPosX);
            _mocks.Object().Setup(o => o.Y).Returns(0f);
            Func <IObject> getTarget = () => _mocks.Object().Object;

            camera.Target = getTarget;
            AGSViewport viewport = new AGSViewport();

            viewport.X = currentViewX;
            viewport.Y = 0f;
            camera.Tick(viewport, new RectangleF(0f, 0f, roomWidth, 200), new Size(screenWidth, 200), false);
            return((int)viewport.X);
        }
Exemple #7
0
        public async Task Object_CounterDecreasedTest()
        {
            _mocks.Room().Setup(r => r.Background).Returns((IObject)null);
            _mocks.Room().Setup(r => r.Objects).Returns(new AGSConcurrentHashSet <IObject> {
                _mocks.Object().Object
            });
            var animationState = _mocks.AnimationState();

            animationState.Setup(a => a.TimeToNextFrame).Returns(5);
            var animation = _mocks.Animation();

            var loop = getGameLoop();
            await loop.UpdateAsync();

            animationState.VerifySet(a => a.TimeToNextFrame = 4, Times.Once());
            animationState.VerifySet(a => a.TimeToNextFrame = It.IsAny <int>(), Times.Once());
            animation.Verify(a => a.NextFrame(), Times.Never);
        }