Mercurial > boomslang
comparison gamelib/tests/game_logic_utils.py @ 60:90b32447b239
Some test refactorage.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Mon, 23 Aug 2010 17:16:05 +0200 |
parents | |
children | 6b0f7364f3bf |
comparison
equal
deleted
inserted
replaced
59:23d2c58369fc | 60:90b32447b239 |
---|---|
1 import unittest | |
2 | |
3 import pygame | |
4 | |
5 from gamelib import state | |
6 | |
7 from pygame.locals import SWSURFACE | |
8 from gamelib.constants import SCREEN | |
9 | |
10 | |
11 # We need this stuff set up so we can load images and whatnot. | |
12 pygame.display.init() | |
13 pygame.display.set_mode(SCREEN, SWSURFACE) | |
14 | |
15 | |
16 class GameLogicTestCase(unittest.TestCase): | |
17 CURRENT_SCENE = None | |
18 | |
19 def setUp(self): | |
20 self.state = state.initial_state() | |
21 self.state.set_current_scene(self.CURRENT_SCENE) | |
22 | |
23 def set_game_data(self, key, value, thing=None, scene=None): | |
24 if scene is None: | |
25 scene = self.CURRENT_SCENE | |
26 gizmo = self.state.scenes[scene] | |
27 if thing is not None: | |
28 gizmo = gizmo.things[thing] | |
29 gizmo.set_data(key, value) | |
30 | |
31 def assert_game_data(self, key, value, thing=None, scene=None): | |
32 if scene is None: | |
33 scene = self.CURRENT_SCENE | |
34 gizmo = self.state.scenes[scene] | |
35 if thing is not None: | |
36 gizmo = gizmo.things[thing] | |
37 self.assertEquals(value, gizmo.get_data(key)) | |
38 | |
39 def interact_thing(self, thing_name, item_name=None): | |
40 item = None | |
41 if item_name is not None: | |
42 item = self.state.items[item_name] | |
43 self.state.scenes[self.CURRENT_SCENE].things[thing_name].interact(item) |