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.
|
|
package Application;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class MenuManagerTest {
MenuManager mm;
@BeforeEach void setUp() { Menu menu1 = new Menu("Menu1"); Menu menu2 = new Menu("Menu2"); Menu menu1_1 = new Menu("Menu1.1"); menu1.addMenu(menu1_1); mm = new MenuManager(); mm.addMenu(menu1); mm.addMenu(menu2); }
@AfterEach void tearDown() { }
@Test void select() { assertNull(mm.getCurrentMenu()); mm.select(0); assertEquals(mm.getCurrentMenu().getName(), "Menu1"); mm.select(0); assertEquals(mm.getCurrentMenu().getName(), "Menu1.1"); }
@Test void inRootMenu() { assertTrue(mm.inRootMenu()); mm.select(0); assertFalse(mm.inRootMenu()); }
@Test void back() { try { mm.back(); Assertions.fail("Test failed: shouldn't be able to go back in rootMenu"); } catch (Exception e) { //Should throw Exception because currently in rootMenu
} mm.select(0); try { mm.back(); assertTrue(mm.inRootMenu()); } catch (Exception e) { Assertions.fail("Test failed: " + e.getMessage()); } mm.select(0); mm.select(0); try { mm.back(); assertEquals(mm.getCurrentMenu().getName(), "Menu1"); } catch (Exception e) { Assertions.fail("Test failed: " + e.getMessage()); } }
@Test void getFormattedMenuList(){ assertEquals(mm.getFormattedMenuList(), "1: Menu1\n2: Menu2\n"); mm.select(0); assertEquals(mm.getFormattedMenuList(), "1: Menu1.1\n"); }
@Test void getSize() { assertEquals(mm.getSize(), 2); mm.select(0); assertEquals(mm.getSize(), 1); mm.select(0); assertEquals(mm.getSize(), 0); } }
|