Example #1
0
    def test_successful_move_action(self):
        # Move north
        game_state = GameState(InfiniteMap(), self.avatar_manager)
        action.MoveAction(self.avatar, {
            "x": 0,
            "y": 1
        }).process(game_state.world_map)

        target_cell = game_state.world_map.get_cell(NORTH_OF_ORIGIN)
        self.assertEqual(self.avatar.location, NORTH_OF_ORIGIN)
        self.assertEqual(self.avatar, target_cell.avatar)

        self.assertEqual(self.avatar.events,
                         [event.MovedEvent(ORIGIN, NORTH_OF_ORIGIN)])

        # Move east
        self.setUp()
        game_state = GameState(InfiniteMap(), self.avatar_manager)
        action.MoveAction(self.avatar, {
            "x": 1,
            "y": 0
        }).process(game_state.world_map)

        self.assertEqual(self.avatar.location, EAST_OF_ORIGIN)
        self.assertEqual(self.avatar.events,
                         [event.MovedEvent(ORIGIN, EAST_OF_ORIGIN)])
Example #2
0
    def test_successful_move_east_twice_action(self):
        game_state = GameState(InfiniteMap(), self.avatar_manager)
        action.MoveAction(self.avatar, {
            "x": 1,
            "y": 0
        }).process(game_state.world_map)
        action.MoveAction(self.avatar, {
            "x": 1,
            "y": 0
        }).process(game_state.world_map)

        self.assertEqual(self.avatar.location, Location(2, 0))
Example #3
0
    def test_failed_move_action(self):
        game_state = GameState(EmptyMap(), self.avatar_manager)
        action.MoveAction(self.avatar, {"x": 0, "y": 1}).process(game_state.world_map)

        self.assertEqual(self.avatar.location, ORIGIN)
        self.assertEqual(
            self.avatar.events, [event.FailedMoveEvent(ORIGIN, NORTH_OF_ORIGIN)]
        )
Example #4
0
    def test_successful_move_east_action(self):
        game_state = GameState(InfiniteMap(), self.avatar_manager)
        action.MoveAction(self.avatar, {
            'x': 1,
            'y': 0
        }).process(game_state.world_map)

        self.assertEqual(self.avatar.location, EAST_OF_ORIGIN)
        self.assertEqual(self.avatar.events,
                         [event.MovedEvent(ORIGIN, EAST_OF_ORIGIN)])
Example #5
0
    def test_successful_move_north_action(self):
        game_state = GameState(InfiniteMap(), self.avatar_manager)
        action.MoveAction(self.avatar, {
            'x': 0,
            'y': 1
        }).process(game_state.world_map)

        target_cell = game_state.world_map.get_cell(NORTH_OF_ORIGIN)
        self.assertEqual(self.avatar.location, NORTH_OF_ORIGIN)
        self.assertEqual(self.avatar, target_cell.avatar)

        self.assertEqual(self.avatar.events,
                         [event.MovedEvent(ORIGIN, NORTH_OF_ORIGIN)])
Example #6
0
    def test_move_action_to_score_square(self):
        game_state = GameState(ScoreOnOddColumnsMap(), self.avatar_manager)
        self.assertEqual(self.avatar.score, 0)

        action.MoveAction(self.avatar, {
            'x': 1,
            'y': 0
        }).process(game_state.world_map)
        game_state.world_map.apply_score()
        self.assertEqual(self.avatar.score, 1)

        action.MoveAction(self.avatar, {
            'x': 1,
            'y': 0
        }).process(game_state.world_map)
        game_state.world_map.apply_score()
        self.assertEqual(self.avatar.score, 1)

        action.MoveAction(self.avatar, {
            'x': 1,
            'y': 0
        }).process(game_state.world_map)
        game_state.world_map.apply_score()
        self.assertEqual(self.avatar.score, 2)