Files
Sense-Hat-Snake/test/lib/test_game.py
T
2018-03-23 13:52:44 +00:00

94 lines
2.3 KiB
Python

from __future__ import print_function
from sensehatsnake.lib.game import Game
from mock import MagicMock
import unittest
class GameTestCase(unittest.TestCase):
COLUMNS = 2
ROWS = 2
FPS = 1
COUNTDOWN = 0
INTERVAL = 0
SCORE_INCREMENT = 1
LEVEL_INCREMENT = 1
INTERVAL_INCREMENT = 0
game = None
def setUp(self):
mock = MagicMock()
keypress_event_mock = MagicMock()
keypress_event_mock.type = 1
keypress_event_mock.key = 1
userevent_event_mock = MagicMock()
userevent_event_mock.type = 3
mock.get_size.return_value = (0, 0)
mock.get.return_value = [keypress_event_mock, userevent_event_mock]
mock.get_ticks.side_effect = [0, 6000, 0, 5000]
mock.Font.return_value = mock
mock.render.return_value = mock
mock.KEYDOWN = 1
mock.K_RETURN = 1
mock.USEREVENT = 2
mock.font = mock
mock.display = mock
mock.event = mock
mock.time = mock
self.game = Game(
self.COLUMNS,
self.ROWS,
self.FPS,
self.COUNTDOWN,
self.INTERVAL,
self.SCORE_INCREMENT,
self.LEVEL_INCREMENT,
self.INTERVAL_INCREMENT,
mock
)
def test__init__(self):
self.assertIsInstance(self.game, Game)
def test_start(self):
self.assertIs(self.game.start(True), None)
def test_toggle_pause(self):
self.assertIs(self.game.toggle_pause(), None)
self.assertEqual(self.game.PAUSED, True)
self.assertIs(self.game.toggle_pause(), None)
self.assertEqual(self.game.PAUSED, False)
def test_get_score(self):
self.assertIs(self.game.get_score(), 0)
def test_print_score(self):
self.assertIs(self.game.print_score(), None)
def test_finish(self):
self.assertIs(self.game.finish(), None)
def test_quit(self):
with self.assertRaises(SystemExit):
self.assertIs(self.game.quit(), None)
def test_reset(self):
self.assertIs(self.game.reset(), None)
def test_cleanup(self):
self.assertIs(self.game.cleanup(), None)
def test__exit__(self):
self.assertIs(self.game.__exit__(), None)
if __name__ == '__main__':
unittest.main()