[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