Initiall development.

This commit is contained in:
Bradley Cornford
2017-07-18 14:05:00 +01:00
commit 53216391dc
24 changed files with 1319 additions and 0 deletions
View File
View File
+56
View File
@@ -0,0 +1,56 @@
from __future__ import print_function
from sensehatsnake.lib.apple import Apple
import unittest
class AppleTestCase(unittest.TestCase):
COORDINATES = [
[1]
]
apple = None
def setUp(self):
self.apple = Apple(self.COORDINATES)
def test__init__(self):
self.assertIsInstance(self.apple, Apple)
def test_set_coordinates(self):
self.assertIs(self.apple.set_coordinates([[0]]), None)
self.assertEquals(self.apple.coordinates(), [[0]])
def test_set_x(self):
self.assertIs(self.apple.set_x(1), None)
self.assertEquals(self.apple.x(), 1)
def test_set_y(self):
self.assertIs(self.apple.set_y(1), None)
self.assertEquals(self.apple.y(), 1)
def test_set_position(self):
self.assertIs(self.apple.set_position((1, 1)), None)
self.assertEquals(self.apple.x(), 1)
self.assertEquals(self.apple.y(), 1)
def test_coordinates(self):
self.assertEquals(self.apple.coordinates(), self.COORDINATES)
def test_x(self):
self.assertEquals(self.apple.x(), 0)
def test_y(self):
self.assertEquals(self.apple.y(), 0)
def test_position(self):
self.assertEquals(self.apple.position(), (0, 0))
def test_cleanup(self):
self.assertIs(self.apple.cleanup(), None)
def test__exit__(self):
self.assertIs(self.apple.__exit__(), None)
if __name__ == '__main__':
unittest.main()
+43
View File
@@ -0,0 +1,43 @@
from __future__ import print_function
from sensehatsnake.lib.board import Board
from sensehatsnake.lib.snake import Snake
import unittest
class BoardTestCase(unittest.TestCase):
COLUMNS = 2
ROWS = 2
board = None
def setUp(self):
self.board = Board(self.COLUMNS, self.ROWS)
def test__init__(self):
self.assertIsInstance(self.board, Board)
def test_columns(self):
self.assertEquals(self.board.columns(), self.COLUMNS)
def test_rows(self):
self.assertEquals(self.board.rows(), self.ROWS)
def test_coordinates(self):
self.assertEquals(self.board.coordinates(), [[0, 0], [0, 0]])
def test_check_collision(self):
snake = Snake([[1]])
self.assertIs(self.board.check_collision(snake, (snake.x(), snake.y())), True)
def test_clear(self):
self.assertIs(self.board.clear(), None)
def test_cleanup(self):
self.assertIs(self.board.cleanup(), None)
def test__exit__(self):
self.assertIs(self.board.__exit__(), None)
if __name__ == '__main__':
unittest.main()
+93
View File
@@ -0,0 +1,93 @@
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()
+90
View File
@@ -0,0 +1,90 @@
from __future__ import print_function
from sensehatsnake.lib.snake import Snake
import unittest
class SnakeTestCase(unittest.TestCase):
COORDINATES = [
[1]
]
COLUMNS = 2
ROWS = 2
snake = None
def setUp(self):
self.snake = Snake(self.COORDINATES)
def test__init__(self):
self.assertIsInstance(self.snake, Snake)
def test_set_coordinates(self):
self.assertIs(self.snake.set_coordinates([[0]]), None)
self.assertEquals(self.snake.coordinates(), [[0]])
def test_set_direction(self):
self.assertIs(self.snake.set_direction(self.snake.DIRECTION_UP), None)
self.assertEquals(self.snake.direction(), self.snake.DIRECTION_UP)
def test_set_x(self):
self.assertIs(self.snake.set_x(1), None)
self.assertEquals(self.snake.x(), 1)
def test_set_y(self):
self.assertIs(self.snake.set_y(1), None)
self.assertEquals(self.snake.y(), 1)
def test_set_position(self):
self.assertIs(self.snake.set_position((1, 1)), None)
self.assertEquals(self.snake.x(), 1)
self.assertEquals(self.snake.y(), 1)
def test_add_segment(self):
self.assertIs(self.snake.add_segment((1, 1)), None)
self.assertEquals(self.snake.length(), 2)
def test_remove_segment(self):
self.assertIs(self.snake.remove_segment(), None)
self.assertEquals(self.snake.length(), 0)
def test_coordinates(self):
self.assertEquals(self.snake.coordinates(), self.COORDINATES)
self.assertEquals(self.snake.coordinates(self.COLUMNS, self.ROWS), [[self.COORDINATES[0][0], False], [False, False]])
def test_direction(self):
self.assertEquals(self.snake.direction(), self.snake.DIRECTION_LEFT)
def test_x(self):
self.assertEquals(self.snake.x(), 0)
def test_y(self):
self.assertEquals(self.snake.y(), 0)
def test_position(self):
self.assertEquals(self.snake.position(), (0, 0))
def test_segments(self):
self.assertEquals(self.snake.segments(), [(0, 0)])
def test_head(self):
self.assertEquals(self.snake.head(), (0, 0))
def test_body(self):
self.assertEquals(self.snake.body(), None)
def test_tail(self):
self.assertEquals(self.snake.tail(), (0, 0))
def test_length(self):
self.assertEquals(self.snake.length(), 1)
def test_cleanup(self):
self.assertIs(self.snake.cleanup(), None)
def test__exit__(self):
self.assertIs(self.snake.__exit__(), None)
if __name__ == '__main__':
unittest.main()
+8
View File
@@ -0,0 +1,8 @@
from __future__ import print_function
import sensehatsnake.main
import unittest
class MainTestCase(unittest.TestCase):
def test__init__(self):
self.assertTrue("main" in dir(sensehatsnake.main))