public void StateTest() { var screen = new MockScreen(); Assert.AreEqual(LifecycleState.Undefined, screen.State); Assert.False(screen.IsActive); screen.Close(); Assert.AreEqual(LifecycleState.Undefined, screen.State); Assert.False(screen.IsActive); screen.Activate(); Assert.AreEqual(LifecycleState.Active, screen.State); Assert.True(screen.IsActive); screen.Deactivate(); Assert.AreEqual(LifecycleState.Inactive, screen.State); Assert.False(screen.IsActive); screen.Close(); Assert.AreEqual(LifecycleState.Closed, screen.State); Assert.False(screen.IsActive); screen.Activate(); Assert.AreEqual(LifecycleState.Closed, screen.State); Assert.False(screen.IsActive); screen.Deactivate(); Assert.AreEqual(LifecycleState.Closed, screen.State); Assert.False(screen.IsActive); }
public void OnClosedTest() { var screen = new MockScreen(); Assert.AreEqual(0, screen.OnClosedCalledCount); screen.Close(); Assert.AreEqual(0, screen.OnClosedCalledCount); screen.Deactivate(); screen.Close(); Assert.AreEqual(0, screen.OnClosedCalledCount); screen.Activate(); screen.Close(); Assert.AreEqual(1, screen.OnClosedCalledCount); screen.Close(); Assert.AreEqual(1, screen.OnClosedCalledCount); screen.Activate(); screen.Deactivate(); screen.Close(); Assert.AreEqual(1, screen.OnClosedCalledCount); }
public void ScreenManager_ChangeScreen_ShouldRunInitialize() { var world = TestHelpers.CreateEntityWorld(); var manager = new ScreenManager(world); MockScreen screen = new MockScreen(); manager.ChangeScreen(screen); Assert.IsTrue(screen.InitializeCalled); }
public void ScreenManager_Draw_ShouldRunScreenDraw() { var world = TestHelpers.CreateEntityWorld(); var manager = new ScreenManager(world); MockScreen screen = new MockScreen(); manager.ChangeScreen(screen); manager.Draw(); Assert.IsTrue(screen.DrawCalled); }
public void ActivateItemWhenConductorIsInactiveTest() { var item = new MockScreen(); Assert.AreEqual(0, _conductor.OnConductorActivatedCalledCount); Assert.AreEqual(0, item.OnActivatedCalledCount); _conductor.ActivateItem(item); Assert.AreEqual(0, _conductor.OnConductorActivatedCalledCount); Assert.AreEqual(0, item.OnActivatedCalledCount); }
public void NextItemAfterOnlyItemClosedTest() { var item = new MockScreen(); _conductor.Activate(); _conductor.ActivateItem(item); Assert.AreEqual(item, _conductor.ActiveItem); _conductor.CloseItem(item); Assert.Null(_conductor.ActiveItem); }
public void CloseConductorTest() { var item1 = new MockScreen(); var item2 = new MockScreen(); _conductor.Activate(); _conductor.ActivateItem(item1); _conductor.ActivateItem(item2); Assert.AreEqual(0, item1.OnClosedCalledCount); Assert.AreEqual(0, item2.OnClosedCalledCount); _conductor.Close(); Assert.AreEqual(1, item1.OnClosedCalledCount); Assert.AreEqual(1, item2.OnClosedCalledCount); }
public void NextItemAfterLastClosedTest() { var item1 = new MockScreen(); var item2 = new MockScreen(); var item3 = new MockScreen(); var item4 = new MockScreen(); _conductor.Activate(); _conductor.ActivateItem(item1); _conductor.ActivateItem(item2); _conductor.ActivateItem(item3); _conductor.ActivateItem(item4); _conductor.ActiveItem = item4; _conductor.CloseItem(item4); Assert.AreEqual(item3, _conductor.ActiveItem); }
public void ChangeActiveItemActivateDeactivateTest() { var item1 = new MockScreen(); var item2 = new MockScreen(); _conductor.Activate(); _conductor.ActivateItem(item1); Assert.AreEqual(1, item1.OnActivatedCalledCount); Assert.AreEqual(0, item1.OnDeactivatedCalledCount); Assert.AreEqual(0, item2.OnActivatedCalledCount); Assert.AreEqual(0, item2.OnDeactivatedCalledCount); _conductor.ActivateItem(item2); Assert.AreEqual(1, item1.OnActivatedCalledCount); Assert.AreEqual(1, item1.OnDeactivatedCalledCount); Assert.AreEqual(1, item2.OnActivatedCalledCount); Assert.AreEqual(0, item2.OnDeactivatedCalledCount); _conductor.ActiveItem = item1; Assert.AreEqual(2, item1.OnActivatedCalledCount); Assert.AreEqual(1, item1.OnDeactivatedCalledCount); Assert.AreEqual(1, item2.OnActivatedCalledCount); Assert.AreEqual(1, item2.OnDeactivatedCalledCount); _conductor.ActiveItem = item2; Assert.AreEqual(2, item1.OnActivatedCalledCount); Assert.AreEqual(2, item1.OnDeactivatedCalledCount); Assert.AreEqual(2, item2.OnActivatedCalledCount); Assert.AreEqual(1, item2.OnDeactivatedCalledCount); _conductor.ActiveItem = null; Assert.AreEqual(2, item1.OnActivatedCalledCount); Assert.AreEqual(2, item1.OnDeactivatedCalledCount); Assert.AreEqual(2, item2.OnActivatedCalledCount); Assert.AreEqual(2, item2.OnDeactivatedCalledCount); }
public void CanBeClosedTest() { var item1 = new MockScreen(); var item2 = new MockScreen(); _conductor.ActivateItem(item1); _conductor.ActivateItem(item2); _conductor.CanBeClosedReturnValue = true; item1.CanBeClosedReturnValue = true; item2.CanBeClosedReturnValue = true; Assert.True(_conductor.CanBeClosed()); _conductor.CanBeClosedReturnValue = false; item1.CanBeClosedReturnValue = true; item2.CanBeClosedReturnValue = true; Assert.False(_conductor.CanBeClosed()); _conductor.CanBeClosedReturnValue = true; item1.CanBeClosedReturnValue = false; item2.CanBeClosedReturnValue = true; Assert.False(_conductor.CanBeClosed()); _conductor.CanBeClosedReturnValue = true; item1.CanBeClosedReturnValue = true; item2.CanBeClosedReturnValue = false; Assert.False(_conductor.CanBeClosed()); _conductor.CanBeClosedReturnValue = false; item1.CanBeClosedReturnValue = false; item2.CanBeClosedReturnValue = false; Assert.False(_conductor.CanBeClosed()); }
private string RunGame(string storyName, string scriptName = null) { var story = Story.FromStream(Resources.LoadStream(storyName)); story.RegisterInterpreter(new MockInterpreter()); var scriptCommands = scriptName != null ? Resources.LoadLines(scriptName) : null; var mockScreen = new MockScreen( scriptCommands, doneAction: () => { throw new ZMachineInterruptedException(); }); var machine = new CompiledZMachine(story); machine.RegisterScreen(mockScreen); machine.SetRandomSeed(42); try { machine.Run(); } catch (ZMachineQuitException) { // done } catch (ZMachineInterruptedException) { // done } return(mockScreen.Output); }