MenuTests.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using Xunit;
  3. using Xunit.Abstractions;
  4. //using static Terminal.Gui.ViewTests.MenuTests;
  5. namespace Terminal.Gui.ViewsTests;
  6. public class MenuTests {
  7. readonly ITestOutputHelper _output;
  8. public MenuTests (ITestOutputHelper output)
  9. {
  10. _output = output;
  11. }
  12. // TODO: Create more low-level unit tests for Menu and MenuItem
  13. [Fact]
  14. public void Menu_Constructors_Defaults ()
  15. {
  16. Assert.Throws<ArgumentNullException> (() => new Menu (null, 0, 0, null));
  17. var menu = new Menu (new MenuBar (), 0, 0, new MenuBarItem ());
  18. Assert.Empty (menu.Title);
  19. Assert.Empty (menu.Text);
  20. }
  21. [Fact]
  22. public void MenuItem_Constructors_Defaults ()
  23. {
  24. var menuItem = new MenuItem ();
  25. Assert.Equal ("", menuItem.Title);
  26. Assert.Equal ("", menuItem.Help);
  27. Assert.Null (menuItem.Action);
  28. Assert.Null (menuItem.CanExecute);
  29. Assert.Null (menuItem.Parent);
  30. Assert.Equal (KeyCode.Null, menuItem.Shortcut);
  31. menuItem = new MenuItem ("Test", "Help", Run, () => { return true; }, new MenuItem (), KeyCode.F1);
  32. Assert.Equal ("Test", menuItem.Title);
  33. Assert.Equal ("Help", menuItem.Help);
  34. Assert.Equal (Run, menuItem.Action);
  35. Assert.NotNull (menuItem.CanExecute);
  36. Assert.NotNull (menuItem.Parent);
  37. Assert.Equal (KeyCode.F1, menuItem.Shortcut);
  38. void Run () { }
  39. }
  40. }