public async Task Breadcrumb_ParentDoesNotHaveTitleItIsExcludedFromTheTrail( string titleOfMenu1, string titleOfMenu2, string titleOfMenu3, string expectMenu1, string expectMenu2, string expectMenu3, string message) { // Arrange var classUnderTest = new ConsoleMenuController(_mockConsoleMenuRepository.Object, _mockConsoleCommand.Object, _mockPromptHelper.Object); BuildThreeLevelMenu(classUnderTest, titleOfMenu2, titleOfMenu3); _mockPromptHelper.SetupSequence(s => s.GetNumber(It.IsAny <string>(), It.IsAny <int>())) .Returns(3) // User presses 3 and goes to menu2 .Returns(3) // User presses 3 and goes to menu3 .Returns(0) // Users exits menu3 and returns to menu2 .Returns(0) // Users exits menu2 and returns to menu1 .Returns(0); // Users exits menu1 and the app too // Act await classUnderTest.DisplayMenuAsync("Menu1", titleOfMenu1, BreadCrumbType.Concatenate); // Assert if (string.IsNullOrWhiteSpace(expectMenu1) == false) { _mockConsoleCommand.Verify(v => v.WriteLine(expectMenu1), Times.Exactly(2), message); } if (string.IsNullOrWhiteSpace(expectMenu2) == false) { _mockConsoleCommand.Verify(v => v.WriteLine(expectMenu2), Times.Exactly(2), message); } if (string.IsNullOrWhiteSpace(expectMenu3) == false) { _mockConsoleCommand.Verify(v => v.WriteLine(expectMenu3), Times.Once, message); } }
public async Task Breadcrumb_IfIsSpecifiedItIsWrittenToTheScreen() { // Arrange string titleOfMenu1 = "Title of menu 1"; string titleOfMenu2 = "Title of menu 2"; string titleOfMenu3 = "Title of menu 3"; var classUnderTest = new ConsoleMenuController(_mockConsoleMenuRepository.Object, _mockConsoleCommand.Object, _mockPromptHelper.Object); BuildThreeLevelMenu(classUnderTest, titleOfMenu2, titleOfMenu3); _mockPromptHelper.SetupSequence(s => s.GetNumber(It.IsAny <string>(), It.IsAny <int>())) .Returns(3) // User presses 3 and goes to menu2 .Returns(3) // User presses 3 and goes to menu3 .Returns(0) // Users exits menu3 and returns to menu2 .Returns(0) // Users exits menu2 and returns to menu1 .Returns(0); // Users exits menu1 and the app too // Act await classUnderTest.DisplayMenuAsync("Menu1", titleOfMenu1, BreadCrumbType.Concatenate); // Assert _mockConsoleCommand.Verify(v => v.WriteLine(titleOfMenu1), Times.Exactly(2)); _mockConsoleCommand.Verify(v => v.WriteLine($"{titleOfMenu1} > {titleOfMenu2}"), Times.Exactly(2)); _mockConsoleCommand.Verify(v => v.WriteLine($"{titleOfMenu1} > {titleOfMenu2} > {titleOfMenu3}"), Times.Once); }
static void Main(string[] args) { try { Settings = SiteUtils.GetUserSettings(); ConsoleMenuController menu = new ConsoleMenuController(Settings); menu.RunCommand(args); } catch (System.Exception exc) { Console.WriteLine(exc.Message); } }
public void RenderMenu() { ConsoleColor f = ConsoleColor.Gray; ConsoleColor b = ConsoleColor.Black; char[] label; string content; ConsoleMenuController temp = (ConsoleMenuController)MasterControlProgram.GetController(); for (int i = 0; i < uiContent.GetLength(0); i++) { for (int j = 0; j < uiContent.GetLength(1); j++) { uiContent[i, j] = new ConsolePixel(); } } content = "CONSOLE DUNGEON CRAWLER : MAIN MENU"; label = content.ToCharArray(); for (int i = 0; i < label.Length; i++) { f = ConsoleColor.Green; uiContent[0, i] = new ConsolePixel(label[i], f); } if (temp.states.Count > 0) { for (int i = 0; i < temp.states.Count; i++) { content = temp.states[i].ToString(); label = content.ToCharArray(); for (int j = 0; j < label.Length; j++) { if (i == temp.index) { f = ConsoleColor.Gray; b = ConsoleColor.Magenta; } else { f = ConsoleColor.Gray; b = ConsoleColor.Black; } uiContent[1 + i, j] = new ConsolePixel(label[j], f, b); } } } }
static void Main(string[] args) { MasterControlProgram MCP = new MasterControlProgram(); ConsoleMenuController menuController = new ConsoleMenuController(); ConsolePlayerController playerController = new ConsolePlayerController(); ConsoleView view = new ConsoleView(); //Console.SetWindowSize(236, 80); Console.SetWindowSize(60, 60); MasterControlProgram.SetController(menuController); MCP.view = view; MCP.Run(); return; }
static void Main(string[] args) { MasterControlProgram MCP = new MasterControlProgram(); ConsoleMenuController menuController = new ConsoleMenuController(); ConsolePlayerController playerController = new ConsolePlayerController(); ConsoleView view = new ConsoleView(); //Console.SetWindowSize(236, 80); Console.SetWindowSize(60, 60); MasterControlProgram.SetController(menuController); MCP.view = view; MCP.Run(); return; }
public async Task Title_IfSpecifiedItIsWrittenToTheScreen() { // Arrange var classUnderTest = new ConsoleMenuController(_mockConsoleMenuRepository.Object, _mockConsoleCommand.Object, _mockPromptHelper.Object); string titleOfMenu1 = "Title of menu 1"; BuildThreeLevelMenu(classUnderTest, string.Empty, string.Empty); _mockPromptHelper.Setup(s => s.GetNumber(It.IsAny <string>(), It.IsAny <int>())) .Returns(0); //Users exits menu1 and the app too // Act await classUnderTest.DisplayMenuAsync("Menu1", titleOfMenu1); // Assert _mockConsoleCommand.Verify(v => v.WriteLine(titleOfMenu1), Times.Once); }
private void BuildThreeLevelMenu(ConsoleMenuController classUnderTest, string titleOfMenu2, string titleOfMenu3) { // MENU 1 var menu1List = new List <ConsoleMenuItemWrapper> { new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 1"), ItemNumber = 1, TheType = typeof(TestMenuItem) }, new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 2"), ItemNumber = 2, TheType = typeof(TestMenuItem) }, new ConsoleMenuItemWrapper { Item = new TestSubMenuItem("Menu2", "Test 2", titleOfMenu2, BreadCrumbType.Concatenate, classUnderTest), ItemNumber = 3, TheType = typeof(TestSubMenuItem) }, new ConsoleMenuItemWrapper { Item = new ExitConsoleMenuItem(), ItemNumber = 0, TheType = typeof(ExitConsoleMenuItem) } }; _mockConsoleMenuRepository.Setup(s => s.LoadMenus("Menu1")).Returns(menu1List); _mockConsoleMenuRepository.Setup(s => s.CreateMenuItems(menu1List)).Returns(menu1List); // MENU 2 var menu2List = new List <ConsoleMenuItemWrapper> { new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 4"), ItemNumber = 1, TheType = typeof(TestMenuItem) }, new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 5"), ItemNumber = 2, TheType = typeof(TestMenuItem) }, new ConsoleMenuItemWrapper { Item = new TestSubMenuItem("Menu3", "Test 4", titleOfMenu3, BreadCrumbType.Concatenate, classUnderTest), ItemNumber = 3, TheType = typeof(TestSubMenuItem) }, new ConsoleMenuItemWrapper { Item = new ExitConsoleMenuItem(), ItemNumber = 0, TheType = typeof(ExitConsoleMenuItem) } }; _mockConsoleMenuRepository.Setup(s => s.LoadMenus("Menu2")).Returns(menu2List); _mockConsoleMenuRepository.Setup(s => s.CreateMenuItems(menu2List)).Returns(menu2List); // MENU 3 var menu3List = new List <ConsoleMenuItemWrapper> { new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 7"), ItemNumber = 1, TheType = typeof(TestMenuItem) }, new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 8"), ItemNumber = 2, TheType = typeof(TestMenuItem) }, new ConsoleMenuItemWrapper { Item = new TestMenuItem("Test 9"), ItemNumber = 3, TheType = typeof(TestSubMenuItem) }, new ConsoleMenuItemWrapper { Item = new ExitConsoleMenuItem(), ItemNumber = 0, TheType = typeof(ExitConsoleMenuItem) } }; _mockConsoleMenuRepository.Setup(s => s.LoadMenus("Menu3")).Returns(menu3List); _mockConsoleMenuRepository.Setup(s => s.CreateMenuItems(menu3List)).Returns(menu3List); }