public Object ( bool newInstance = false ) : Mock |
||
newInstance | bool | |
Résultat | Mock |
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; } }
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)); }
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; } }
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); }
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); }
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); }