def test_get_free_position( self ): """Given a playfield with some tiles and goldcar When get_free_position is called Then that position doesn't collide with goldcar """ # Given playfield = Playfield() playfield.level = Level() playfield.level.set_tile( Tile( Vec3D(0,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(1,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(2,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(3,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(4,0,0), Tile.Type.FLAT ) ) playfield.goldcars = [ GoldCar( TrailPosition(playfield.level.get_tile(1,0), 500), 1 )] for i in range(0, 256): # When pos = playfield.get_free_position() # Then if pos is not None: assert playfield.is_free_position( pos )
def test_get_free_position(self): """Given a playfield with some tiles and goldcar When get_free_position is called Then that position doesn't collide with goldcar """ # Given playfield = Playfield() playfield.level = Level() playfield.level.set_tile(Tile(Vec3D(0, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(1, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(2, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(3, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(4, 0, 0), Tile.Type.FLAT)) playfield.goldcars = [ GoldCar(TrailPosition(playfield.level.get_tile(1, 0), 500), 1) ] for i in range(0, 256): # When pos = playfield.get_free_position() # Then if pos is not None: assert playfield.is_free_position(pos)
def test_isnt_free_position( self ): """Given a level with some flat tiles When a goldcar occupies a tile And we have a position on another tile far from goldcar Then is_free_position returns true """ # Given playfield = Playfield() playfield.level = Level() playfield.level.set_tile( Tile( Vec3D(0,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(1,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(2,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(3,0,0), Tile.Type.FLAT ) ) playfield.level.set_tile( Tile( Vec3D(4,0,0), Tile.Type.FLAT ) ) # When playfield.goldcars = [ GoldCar( TrailPosition(playfield.level.get_tile(2,0), 900), 1 )] pos = TrailPosition(playfield.level.get_tile(2,0), 100) # Then assert playfield.is_free_position( pos )
def test_isnt_free_position(self): """Given a level with some flat tiles When a goldcar occupies a tile And we have a position on another tile far from goldcar Then is_free_position returns true """ # Given playfield = Playfield() playfield.level = Level() playfield.level.set_tile(Tile(Vec3D(0, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(1, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(2, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(3, 0, 0), Tile.Type.FLAT)) playfield.level.set_tile(Tile(Vec3D(4, 0, 0), Tile.Type.FLAT)) # When playfield.goldcars = [ GoldCar(TrailPosition(playfield.level.get_tile(2, 0), 900), 1) ] pos = TrailPosition(playfield.level.get_tile(2, 0), 100) # Then assert playfield.is_free_position(pos)