class Test_Create_Client(unittest.TestCase): def setUp(self): self.app = Application() def test_create_client(self): self.app.add_client() # success Login asserts: Client is created self.app.login_as_client() def tearDown(self): self.app.destroy()
class TestFileMenu(unittest.TestCase): """ test menu functions test menu functions Additional Tests: **File Menu:** * Test New game * Open * Save * Exit - maybe **Play Menu:** * Undo * Redo * Evaluate * Setup **Help Menu: maybe** * Help * About """ def setUp(self): self.app = Application() def tearDown(self): self.app.destroy() def test_startup(self): """ proper startup of application """ # self.app. # assert_that(self.app.main_frame.display.cget('text'), starts_with('Cookiecutter: Open-Source Project Templates')) assert_that(self.app.main_frame.display.cget('text'), contains_string('player: start game'))
import os import sys import traceback from application import Application if __name__ == '__main__': app = None exit_code = 0 try: bd_addr = os.environ.get('BT_DEVICE_ADDR') or '20:20:10:26:24:79' print(f'bd_addr={bd_addr}') app = Application(bd_addr) except Exception as e: print(e) traceback.print_stack() exit_code = 1 finally: if app: app.destroy() sys.exit(exit_code)
class TestBasicApplication(unittest.TestCase): """ basic testing for Pushing Stones application basic testing for Pushing Stones application Additional Tests: * Application startup """ def setUp(self): self.app = Application() def tearDown(self): self.app.destroy() def test_startup(self): """ proper startup of application """ # assert_that(self.app.main_frame.display.cget('text'), starts_with('Cookiecutter: Open-Source Project Templates')) assert_that(self.app.main_frame.display.cget('text'), contains_string('player: start game')) def test_click_button1(self): """ Click button 1 at 46, 9 Action of button 1 is completed :return: """ self.simulate_mouse_click(self.app, 46, 9) # assert_that(self.app.statusbar.labels[0].cget('text'), equal_to('Mouse: 1')) # assert_that(self.app.statusbar.labels[1].cget('text'), equal_to('Clicked at x = 46 y = 9')) # assert_that(self.app.statusbar.labels[2].cget('text'), equal_to('Uptime: 0')) # assert_that(self.app.statusbar.labels[3].cget('text'), equal_to('Unset status 4')) def test_button1(self): """ Invoke action of b1 button :return: """ self.app.main_frame.children['b1'].invoke() # assert_that(self.app.statusbar.labels[0].cget('text'), equal_to('Unset status 1')) # assert_that(self.app.statusbar.labels[1].cget('text'), equal_to('Unset status 2')) # assert_that(self.app.statusbar.labels[2].cget('text'), equal_to('Uptime: 0')) # assert_that(self.app.statusbar.labels[3].cget('text'), equal_to('Unset status 4')) pass def test_button2(self): """ Invoke action of b2 button :return: """ self.app.main_frame.children['b2'].invoke() # assert_that(self.app.statusbar.labels[0].cget('text'), equal_to('Unset status 1')) # assert_that(self.app.statusbar.labels[1].cget('text'), equal_to('Unset status 2')) # assert_that(self.app.statusbar.labels[2].cget('text'), equal_to('Uptime: 0')) # assert_that(self.app.statusbar.labels[3].cget('text'), equal_to('Unset status 4')) pass def simulate_mouse_click(self, widget, x, y, buttonPress=1): """Generate proper events to click at the x, y position (tries to act like an X server).""" widget.event_generate('<Enter>', x=0, y=0) widget.event_generate('<Motion>', x=x, y=y) widget.event_generate(f'<ButtonPress-{buttonPress}>', x=x, y=y) widget.event_generate(f'<ButtonRelease-{buttonPress}>', x=x, y=y)