1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/test/java/de/uapcore/sudoku/MainMenuTest.java Tue Jul 28 13:48:59 2020 +0200 1.3 @@ -0,0 +1,97 @@ 1.4 +package de.uapcore.sudoku; 1.5 + 1.6 +import org.junit.jupiter.api.Test; 1.7 + 1.8 +import javax.swing.*; 1.9 + 1.10 +import static org.junit.jupiter.api.Assertions.assertEquals; 1.11 +import static org.junit.jupiter.api.Assertions.assertNull; 1.12 + 1.13 +class MainMenuTest { 1.14 + 1.15 + private final ActionHandler actionHandler = new ActionHandler(new Field()); 1.16 + 1.17 + private void testListeners(JMenuItem m) { 1.18 + final var listeners = m.getActionListeners(); 1.19 + assertEquals(1, listeners.length); 1.20 + assertEquals(actionHandler, listeners[0]); 1.21 + } 1.22 + 1.23 + @Test 1.24 + void testStructure() { 1.25 + final var menu = new MainMenu(actionHandler); 1.26 + 1.27 + assertEquals(2, menu.getMenuCount()); 1.28 + 1.29 + final var datei = menu.getMenu(0); 1.30 + assertEquals('D', datei.getMnemonic()); 1.31 + assertEquals(9, datei.getItemCount()); 1.32 + { 1.33 + final var item = datei.getItem(0); 1.34 + assertEquals("Neu", item.getText()); 1.35 + assertEquals('N', item.getMnemonic()); 1.36 + assertEquals(1, item.getRegisteredKeyStrokes().length); 1.37 + assertEquals(KeyStroke.getKeyStroke("control N"), item.getRegisteredKeyStrokes()[0]); 1.38 + testListeners(item); 1.39 + } 1.40 + { 1.41 + final var item = datei.getItem(1); 1.42 + assertEquals("Öffnen", item.getText()); 1.43 + assertEquals('F', item.getMnemonic()); 1.44 + assertEquals(1, item.getRegisteredKeyStrokes().length); 1.45 + assertEquals(KeyStroke.getKeyStroke("control O"), item.getRegisteredKeyStrokes()[0]); 1.46 + testListeners(item); 1.47 + } 1.48 + { 1.49 + final var item = datei.getItem(2); 1.50 + assertEquals("Speichern", item.getText()); 1.51 + assertEquals('S', item.getMnemonic()); 1.52 + assertEquals(1, item.getRegisteredKeyStrokes().length); 1.53 + assertEquals(KeyStroke.getKeyStroke("control S"), item.getRegisteredKeyStrokes()[0]); 1.54 + testListeners(item); 1.55 + } 1.56 + { 1.57 + final var item = datei.getItem(3); 1.58 + assertEquals("Speichern als...", item.getText()); 1.59 + assertEquals('A', item.getMnemonic()); 1.60 + testListeners(item); 1.61 + } 1.62 + 1.63 + assertNull(datei.getItem(4)); 1.64 + { 1.65 + final var item = datei.getItem(5); 1.66 + assertEquals("Prüfen", item.getText()); 1.67 + assertEquals('P', item.getMnemonic()); 1.68 + assertEquals(1, item.getRegisteredKeyStrokes().length); 1.69 + assertEquals(KeyStroke.getKeyStroke("control P"), item.getRegisteredKeyStrokes()[0]); 1.70 + testListeners(item); 1.71 + } 1.72 + { 1.73 + final var item = datei.getItem(6); 1.74 + assertEquals("Lösen", item.getText()); 1.75 + assertEquals('L', item.getMnemonic()); 1.76 + assertEquals(1, item.getRegisteredKeyStrokes().length); 1.77 + assertEquals(KeyStroke.getKeyStroke("control L"), item.getRegisteredKeyStrokes()[0]); 1.78 + testListeners(item); 1.79 + } 1.80 + assertNull(datei.getItem(7)); 1.81 + { 1.82 + final var item = datei.getItem(8); 1.83 + assertEquals("Beenden", item.getText()); 1.84 + assertEquals('E', item.getMnemonic()); 1.85 + testListeners(item); 1.86 + } 1.87 + 1.88 + final var info = menu.getMenu(1); 1.89 + assertEquals("Info", info.getText()); 1.90 + assertEquals('I', info.getMnemonic()); 1.91 + 1.92 + assertEquals(1, info.getItemCount()); 1.93 + final var about = info.getItem(0); 1.94 + assertEquals("Über...", about.getText()); 1.95 + assertEquals('B', about.getMnemonic()); 1.96 + assertEquals(1, about.getRegisteredKeyStrokes().length); 1.97 + assertEquals(KeyStroke.getKeyStroke("F1"), about.getRegisteredKeyStrokes()[0]); 1.98 + testListeners(about); 1.99 + } 1.100 +}