You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.1 KiB

  1. package Application;
  2. import org.junit.jupiter.api.AfterEach;
  3. import org.junit.jupiter.api.Assertions;
  4. import org.junit.jupiter.api.BeforeEach;
  5. import org.junit.jupiter.api.Test;
  6. import static org.junit.jupiter.api.Assertions.*;
  7. class MenuManagerTest {
  8. MenuManager mm;
  9. @BeforeEach
  10. void setUp() {
  11. Menu menu1 = new Menu("Menu1");
  12. Menu menu2 = new Menu("Menu2");
  13. Menu menu1_1 = new Menu("Menu1.1");
  14. menu1.addMenu(menu1_1);
  15. mm = new MenuManager();
  16. mm.addMenu(menu1);
  17. mm.addMenu(menu2);
  18. }
  19. @AfterEach
  20. void tearDown() {
  21. }
  22. @Test
  23. void select() {
  24. assertNull(mm.getCurrentMenu());
  25. mm.select(0);
  26. assertEquals(mm.getCurrentMenu().getName(), "Menu1");
  27. mm.select(0);
  28. assertEquals(mm.getCurrentMenu().getName(), "Menu1.1");
  29. }
  30. @Test
  31. void inRootMenu() {
  32. assertTrue(mm.inRootMenu());
  33. mm.select(0);
  34. assertFalse(mm.inRootMenu());
  35. }
  36. @Test
  37. void back() {
  38. try {
  39. mm.back();
  40. Assertions.fail("Test failed: shouldn't be able to go back in rootMenu");
  41. } catch (Exception e) {
  42. //Should throw Exception because currently in rootMenu
  43. }
  44. mm.select(0);
  45. try {
  46. mm.back();
  47. assertTrue(mm.inRootMenu());
  48. } catch (Exception e) {
  49. Assertions.fail("Test failed: " + e.getMessage());
  50. }
  51. mm.select(0);
  52. mm.select(0);
  53. try {
  54. mm.back();
  55. assertEquals(mm.getCurrentMenu().getName(), "Menu1");
  56. } catch (Exception e) {
  57. Assertions.fail("Test failed: " + e.getMessage());
  58. }
  59. }
  60. @Test
  61. void getFormattedMenuList(){
  62. assertEquals(mm.getFormattedMenuList(), "1: Menu1\n2: Menu2\n");
  63. mm.select(0);
  64. assertEquals(mm.getFormattedMenuList(), "1: Menu1.1\n");
  65. }
  66. @Test
  67. void getSize() {
  68. assertEquals(mm.getSize(), 2);
  69. mm.select(0);
  70. assertEquals(mm.getSize(), 1);
  71. mm.select(0);
  72. assertEquals(mm.getSize(), 0);
  73. }
  74. }