[pypy-svn] r62557 - in pypy/trunk/pypy/lang/gameboy: . test
cami at codespeak.net
cami at codespeak.net
Thu Mar 5 09:46:38 CET 2009
Author: cami
Date: Thu Mar 5 09:46:38 2009
New Revision: 62557
Modified:
pypy/trunk/pypy/lang/gameboy/test/test_video_sprite.py
pypy/trunk/pypy/lang/gameboy/video_sprite.py
Log:
fixing sprite test
Modified: pypy/trunk/pypy/lang/gameboy/test/test_video_sprite.py
==============================================================================
--- pypy/trunk/pypy/lang/gameboy/test/test_video_sprite.py (original)
+++ pypy/trunk/pypy/lang/gameboy/test/test_video_sprite.py Thu Mar 5 09:46:38 2009
@@ -1,4 +1,4 @@
-from pypy.lang.gameboy import constants
+from pypy.lang.gameboy.constants import *
from pypy.lang.gameboy.video_sprite import Sprite
from pypy.lang.gameboy.video import Video
from pypy.lang.gameboy.test.test_video import get_video
@@ -58,19 +58,19 @@
sprite = get_sprite()
for i in range(0xFF):
sprite.set_data_at(0, i)
- assert sprite.get_data()[0] == i
+ assert sprite.get_data_at(0) == i
for i in range(0xFF):
sprite.set_data_at(1, i)
- assert sprite.get_data()[1] == i
+ assert sprite.get_data_at(1) == i
for i in range(0xFF):
sprite.set_data_at(2, i)
- assert sprite.get_data()[2] == i
+ assert sprite.get_data_at(2) == i
for i in range(0xFF):
sprite.set_data_at(3, i)
- assert sprite.get_data()[3] == i
+ assert sprite.get_data_at(3) == i
def test_size():
sprite = get_sprite()
@@ -121,33 +121,27 @@
sprite.hide_check()
assert sprite.hidden
-def test_set_data():
- py.test.skip("test not implemented")
- sprite = get_sprite()
def test_intersects_line_normal_size():
sprite = get_sprite()
sprite.big_size = False
- sprite.y = 1
- line_intersection_test(sprite, 8)
+ sprite.y = 2*SPRITE_SIZE+1
+ line_intersection_test(sprite)
def test_intersects_line_big_size():
sprite = get_sprite()
sprite.big_size = True
- sprite.y = 1
- line_intersection_test(sprite, 16)
-
-def line_intersection_test(sprite, height):
- assert not sprite.intersects_line(0)
- for i in range(height):
- assert sprite.intersects_line(i+1)
- assert not sprite.intersects_line(height+2)
-
-def test_intersects_line_normal_size_y_flipped():
- py.test.skip("not yet implemented")
+ sprite.y = 2*SPRITE_SIZE+1
+ line_intersection_test(sprite)
+def line_intersection_test(sprite):
+ sprite.video.line_y = 0
+ assert not sprite.intersects_current_line()
+ for i in range(sprite.get_height()):
+ sprite.video.line_y = i+1
+ assert sprite.intersects_current_line(), i
+ sprite.video.line_y = sprite.get_height()+1
+ assert not sprite.intersects_current_line()
-def test_intersects_big_normal_size_y_flipped():
- py.test.skip("not yet implemented")
# test sprite in video ---------------------------------------------------------
Modified: pypy/trunk/pypy/lang/gameboy/video_sprite.py
==============================================================================
--- pypy/trunk/pypy/lang/gameboy/video_sprite.py (original)
+++ pypy/trunk/pypy/lang/gameboy/video_sprite.py Thu Mar 5 09:46:38 2009
@@ -140,13 +140,13 @@
def intersects_current_line(self):
y = self.current_line_y()
- return 0 <= y and y < self.get_height()
+ return y >= 0 and y < self.get_height()
def is_shown_on_current_line(self):
return not self.hidden and self.intersects_current_line()
def current_line_y(self):
- return self.video.line_y - self.y + 2 * SPRITE_SIZE
+ return (self.video.line_y - self.y) + 2 * SPRITE_SIZE
def get_tile_address(self):
address = self.get_tile_number()
More information about the Pypy-commit
mailing list