def test_move(self, active, velocity, degree, gravity, end_point): obj = Ball( top_left=Point(0.0, 0.0), width=3.1, height=4.2, velocity=velocity, angle=Angle(deg2rad(degree)), gravity=gravity, ) obj.is_active = active time_in_ms = 1000 obj.move(time_in_ms) assert obj.top_left.x == approx(end_point.x) assert obj.top_left.y == approx(end_point.y)
def _handle_event_from_level_objects( self, event: _Event, elapsed_time_in_ms: float, left_wall: Wall, right_wall: Wall, ball: Ball, platform: Platform, ): if event == self._Event.p: self._is_paused = not self._is_paused self._changed_pause_state = True return self._changed_pause_state = False if event == self._Event.quit or event == self._Event.escape: self._is_quit = True return if event == self._Event.p: self._is_paused = not self._is_paused return if self._is_paused: return if event == self._Event.space: if not ball.is_active: ball.is_active = True elif event == self._Event.left: if _intersects_with_left_x(platform, left_wall): _put_before_intersects_with_left_x(platform, left_wall) else: _move_left(platform, elapsed_time_in_ms) elif event == self._Event.right: if _intersects_with_right_x(platform, right_wall): _put_before_intersects_with_right_x(platform, right_wall) else: _move_right(platform, elapsed_time_in_ms)
def test_is_active(self): obj = Ball() assert obj.is_active == False obj.is_active = True assert obj.is_active == True