From 30a01108b802dbce648d93d65fff3bd171174b31 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Fri, 6 Nov 2020 18:32:51 +0100 Subject: [PATCH] Test main menu scrolling --- dungeonbattle/menus.py | 4 ++-- dungeonbattle/tests/menus_test.py | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 dungeonbattle/tests/menus_test.py diff --git a/dungeonbattle/menus.py b/dungeonbattle/menus.py index 66dc199..82d6d4e 100644 --- a/dungeonbattle/menus.py +++ b/dungeonbattle/menus.py @@ -28,7 +28,7 @@ class MainMenu(Menu): values = [e for e in MainMenuValues] -class ArbitraryMenu: +class ArbitraryMenu(Menu): def __init__(self, values: list): - super().__init__(self) + super().__init__() self.values = values diff --git a/dungeonbattle/tests/menus_test.py b/dungeonbattle/tests/menus_test.py new file mode 100644 index 0000000..6ad9df7 --- /dev/null +++ b/dungeonbattle/tests/menus_test.py @@ -0,0 +1,24 @@ +import unittest + +from dungeonbattle.menus import ArbitraryMenu, MainMenu, MainMenuValues + + +class TestMenus(unittest.TestCase): + def test_scroll_menu(self) -> None: + """ + Test to scroll the menu. + """ + arbitrary_menu = ArbitraryMenu([]) + self.assertEqual(arbitrary_menu.position, 0) + + main_menu = MainMenu() + self.assertEqual(main_menu.position, 0) + self.assertEqual(main_menu.validate(), MainMenuValues.START) + main_menu.go_up() + self.assertEqual(main_menu.validate(), MainMenuValues.START) + main_menu.go_down() + self.assertEqual(main_menu.validate(), MainMenuValues.SETTINGS) + main_menu.go_down() + self.assertEqual(main_menu.validate(), MainMenuValues.EXIT) + main_menu.go_down() + self.assertEqual(main_menu.validate(), MainMenuValues.EXIT)