示例#1
0
 def test_example_other_calculator(self) -> None:
     """
     Test calculator example.
     """
     app = calculator.main(test=True)
     app.process_events(
         PygameEventUtils.keydown([
             pygame.K_1, pygame.K_2, pygame.K_3, pygame.K_4, pygame.K_5,
             pygame.K_PLUS
         ]))
     self.assertEqual(app.prev, '12345')
     self.assertEqual(app.op, '+')
     app.process_events(
         PygameEventUtils.keydown(
             [pygame.K_6, pygame.K_7, pygame.K_8, pygame.K_9, pygame.K_0]))
     self.assertEqual(app.curr, '67890')
     app.process_events(PygameEventUtils.keydown(pygame.K_EQUALS))
     self.assertEqual(app.op, '')
     self.assertEqual(app.curr, '80235')
     self.assertEqual(app.prev, '')
     app.process_events(PygameEventUtils.keydown([pygame.K_x, pygame.K_2]))
     self.assertEqual(app.op, 'x')
     self.assertEqual(app.curr, '2')
     self.assertEqual(app.prev, '80235')
     app.process_events(PygameEventUtils.keydown([pygame.K_x]))
     self.assertEqual(app.op, 'x')
     self.assertEqual(app.curr, '')
     self.assertEqual(app.prev, '160470')
     app.process_events(
         PygameEventUtils.keydown([pygame.K_PLUS, pygame.K_3, pygame.K_0]))
     self.assertEqual(app.op, '+')
     self.assertEqual(app.curr, '30')
     self.assertEqual(app.prev, '160470')
     app.process_events(PygameEventUtils.keydown(pygame.K_EQUALS))
     self.assertEqual(app.op, '')
     self.assertEqual(app.curr, '160500')
     self.assertEqual(app.prev, '')
     app.process_events(
         PygameEventUtils.keydown(
             [pygame.K_SLASH, pygame.K_5, pygame.K_MINUS]))
     self.assertEqual(app.op, '-')
     self.assertEqual(app.curr, '')
     self.assertEqual(app.prev, '32100')
     app.process_events(
         PygameEventUtils.keydown([
             pygame.K_3, pygame.K_2, pygame.K_1, pygame.K_0, pygame.K_EQUALS
         ]))
     self.assertEqual(app.op, '')
     self.assertEqual(app.curr, '28890')
     self.assertEqual(app.prev, '')
     app.process_events(
         PygameEventUtils.keydown([pygame.K_9, pygame.K_BACKSPACE]))
     self.assertEqual(app.op, '')
     self.assertEqual(app.curr, '')
     self.assertEqual(app.prev, '')
     test_reset_surface()
示例#2
0
    def test_example_other_calculator(self) -> None:
        """
        Test calculator example.
        """
        app = calculator.main(test=True)

        # Process events
        app.process_events(
            PygameEventUtils.keydown([
                pygame.K_1, pygame.K_2, pygame.K_3, pygame.K_4, pygame.K_5,
                pygame.K_PLUS
            ]))
        self.assertEqual(app.prev, '12345')
        self.assertEqual(app.op, '+')
        app.process_events(
            PygameEventUtils.keydown(
                [pygame.K_6, pygame.K_7, pygame.K_8, pygame.K_9, pygame.K_0]))
        self.assertEqual(app.curr, '67890')
        app.process_events(PygameEventUtils.keydown(pygame.K_EQUALS))
        self.assertEqual(app.op, '')
        self.assertEqual(app.curr, '80235')
        self.assertEqual(app.prev, '')
        app.process_events(PygameEventUtils.keydown([pygame.K_x, pygame.K_2]))
        self.assertEqual(app.op, 'x')
        self.assertEqual(app.curr, '2')
        self.assertEqual(app.prev, '80235')
        app.process_events(PygameEventUtils.keydown([pygame.K_x]))
        self.assertEqual(app.op, 'x')
        self.assertEqual(app.curr, '')
        self.assertEqual(app.prev, '160470')
        app.process_events(
            PygameEventUtils.keydown([pygame.K_PLUS, pygame.K_3, pygame.K_0]))
        self.assertEqual(app.op, '+')
        self.assertEqual(app.curr, '30')
        self.assertEqual(app.prev, '160470')
        app.process_events(PygameEventUtils.keydown(pygame.K_EQUALS))
        self.assertEqual(app.op, '')
        self.assertEqual(app.curr, '160500')
        self.assertEqual(app.prev, '')
        app.process_events(
            PygameEventUtils.keydown(
                [pygame.K_SLASH, pygame.K_5, pygame.K_MINUS]))
        self.assertEqual(app.op, '-')
        self.assertEqual(app.curr, '')
        self.assertEqual(app.prev, '32100')
        app.process_events(
            PygameEventUtils.keydown([
                pygame.K_3, pygame.K_2, pygame.K_1, pygame.K_0, pygame.K_EQUALS
            ]))
        self.assertEqual(app.op, '')
        self.assertEqual(app.curr, '28890')
        self.assertEqual(app.prev, '')
        app.process_events(
            PygameEventUtils.keydown([pygame.K_9, pygame.K_BACKSPACE]))
        self.assertEqual(app.op, '')
        self.assertEqual(app.curr, '')
        self.assertEqual(app.prev, '')

        # Test methods
        self.assertRaises(ValueError, lambda: app._format('n'))
        self.assertEqual(app._format('1.2'), '1')
        self.assertEqual(app._format('2.0'), '2')

        # Test selection
        app.menu._test_print_widgets()
        b1 = app.menu.get_widgets()[4]
        b1d = b1.get_decorator()
        lay = b1.get_attribute('on_layer')
        self.assertFalse(b1d.is_enabled(lay))
        b1.select()
        self.assertTrue(b1d.is_enabled(lay))
        b1.select(False)
        self.assertFalse(b1d.is_enabled(lay))