def setUp(self): super(TestSampleMenu, self).setUp() self.menu = ConsoleMenu("self.menu", "TestSampleMenu") self.item1 = MenuItem("self.item1", self.menu) self.item2 = MenuItem("self.item2", self.menu) self.menu.append_item(self.item1) self.menu.append_item(self.item2) self.menu.start() self.menu.wait_for_start(timeout=10)
def test_remove_menu_item(self): menu = ConsoleMenu("menu1", "test_currently_active_menu_1") item1 = MenuItem(text='itemText', menu=menu) item2 = MenuItem(text='itemText2', menu=menu) menu.append_item(item1) menu.append_item(item2) self.assertIn(item1, menu.items) self.assertIn(item2, menu.items) menu.remove_item(item1) self.assertNotIn(item1, menu.items) self.assertIn(item2, menu.items)
def test_defaults(self): print_screen_edge() format = MenuFormatBuilder() items = [ MenuItem("This is Item 1"), MenuItem("This is Item 2"), MenuItem("This is Item 3") ] Screen().printf( format.format(title="This is My Title", subtitle="This is My Little Subtitle", items=items))
def test_format_with_prologue_with_top_border(self): format = MenuFormatBuilder().show_prologue_top_border(True) items = [ MenuItem("This is Item 1"), MenuItem("This is Item 2"), MenuItem("This is Item 3") ] prologue_text = "This is my prologue. Follow these instructions." Screen().printf( format.format(title="This is My Title", subtitle="This is My Subtitle", items=items, prologue_text=prologue_text))
def test_format_with_prologue_no_border(self): format = MenuFormatBuilder() items = [ MenuItem("This is Item 1"), MenuItem("This is Item 2"), MenuItem("This is Item 3") ] prologue_text = 'This a very long prologue, which can be used to explain how to use this menu, \ for people that might not understand it.' Screen().printf( format.format(title="This is My Title", subtitle="This is My Subtitle", items=items, prologue_text=prologue_text))
def test_init(self): menu_item_1 = MenuItem("menu_item_1", self.menu) menu_item_2 = MenuItem("menu_item_2", self.menu, True) menu_item_3 = MenuItem(text="menu_item_1", menu=self.menu, should_exit=False) self.assertEqual(menu_item_1.text, "menu_item_1") self.assertEqual(menu_item_2.text, "menu_item_2") self.assertEqual(menu_item_3.text, "menu_item_1") self.assertEqual(menu_item_1.menu, self.menu) self.assertEqual(menu_item_2.menu, self.menu) self.assertEqual(menu_item_3.menu, self.menu) self.assertFalse(menu_item_1.should_exit) self.assertTrue(menu_item_2.should_exit) self.assertFalse(menu_item_3.should_exit)
def test_format_with_long_prologue_with_both_borders(self): format = MenuFormatBuilder().show_prologue_top_border( True).show_prologue_bottom_border(True) items = [ MenuItem("This is Item 1"), MenuItem("This is Item 2"), MenuItem("This is Item 3") ] prologue_text = 'This a very long prologue, which can be used to explain how to use this menu, \ for people that might not understand it. But if they read this description it can help them. Also, I have both \ my top and bottom borders enabled, so you should see them.' Screen().printf( format.format(title="This is My Title", subtitle="This is My Subtitle", items=items, prologue_text=prologue_text))
def test_format_with_item_borders(self): format = MenuFormatBuilder() item1 = MenuItem("This is Item 1") item2 = MenuItem("This is Item 2") item3 = MenuItem("This is Item 3") format.show_item_top_border(item2, True) format.show_item_bottom_border(item2, True) print("This should show both top and bottom borders on item 2...") Screen().printf( format.format(title="This is My Title", subtitle="This is My Subtitle", items=[item1, item2, item3])) # Now turn off the borders format.show_item_top_border(item2, False) format.show_item_bottom_border(item2, False) print("This should NOT show any borders on item 2...") Screen().printf( format.format(title="This is My Title", subtitle="This is My Subtitle", items=[item1, item2, item3]))
def test_(self): global title_text, subtitle_text, item_title_text menu_item = MenuItem(item_title, self.menu) # Test dynamic change of main menu title self.assertEqual(self.menu.get_title(), "title") title_text = "newtitle" self.assertEqual(self.menu.get_title(), "newtitle") # Test dynamic change of main menu subtitle self.assertEqual(self.menu.get_subtitle(), "subtitle") subtitle_text = "newsubtitle" self.assertEqual(self.menu.get_subtitle(), "newsubtitle") # Test dynamic menu item text self.assertEqual(menu_item.get_text(), "itemtext") item_title_text = "newtext" self.assertEqual(menu_item.get_text(), "newtext") # Test dynamic change of submenu item on each invocation submenu_item = SubmenuItem("a_sub", my_submenu_function) self.assertEqual(submenu_item.get_submenu().get_title(), "version1") self.assertEqual(submenu_item.get_submenu().get_title(), "version2")
def setUp(self): self.menu = ConsoleMenu("self.menu", "TestMenuItem") self.small_list = [ MenuItem("menu_item_1", self.menu), MenuItem("menu_item_2", self.menu, True), MenuItem(text="menu_item_3", menu=self.menu, should_exit=False) ] self.large_list = [ MenuItem("menu_item_1", self.menu), MenuItem("menu_item_2", self.menu, True), MenuItem("menu_item_3", self.menu, True), MenuItem("menu_item_4", self.menu, True), MenuItem("menu_item_5", self.menu, True), MenuItem("menu_item_6", self.menu, True), MenuItem("menu_item_7", self.menu, True), MenuItem("menu_item_8", self.menu, True), MenuItem("menu_item_9", self.menu, True), MenuItem("menu_item_10", self.menu, True), MenuItem("menu_item_11", self.menu, True), MenuItem(text="menu_item_12", menu=self.menu, should_exit=False) ]
def test_show(self): menu_item = MenuItem("menu_item", self.menu) self.assertEqual(menu_item.show(0), " 1 - menu_item")
subtitle=menu_subtitle, prologue_text= "Certo, agora você precisa escolher uma das músicas abaixo para que o classificador tente adivinhar qual o gênero dela:", ) # exibe o menu para seleção da música a ser analisada music_selection_menu.show() selected_network = network_types[ network_selection_menu.selected_option] selected_music = musics[music_selection_menu.selected_option] # faz a previsão dos gêneros que possuem semelhança com a música selecionada predicted_genres = predict_genre(f"songs/{selected_music}", network_type=selected_network) result_menu = ConsoleMenu( title=menu_title, subtitle=menu_subtitle, prologue_text= "De acordo com o algoritmo de '{}', a música '{}' tem similaridade com os seguintes gêneros:" .format(selected_network, selected_music)) # cria os itens do menu de resultados obtidos pela previsão for predicted_genre in predicted_genres: result_menu.append_item( MenuItem("Gênero: {}, Precisão: {:.2f}%".format( predicted_genre['label'], predicted_genre['accuracy']))) result_menu.show()