Пример #1
0
    def test_givenObstacleVeryFarFromPlayer_thenTrajectoryScoreReturnsMultiplicativeNullValue(
            self):
        self._define_points_obstacle((100, 100), (200, 200), (1500, 1500))

        assert trajectory_score(
            self.start_point, self.goal,
            self.obstacle) == self.MULTIPLICATIVE_NULL_VALUE
Пример #2
0
    def test_givenTwoPlayerInOtherTeamNearGoal_thenLineOfSightClearanceIsDistanceToTargetTimesBothPathScores(
            self):
        player1 = self._build_mock_player(Position(100, 100), 1)
        player2 = self._build_mock_player(Position(130, 130), 2)
        player3 = self._build_mock_player(Position(160, 170), 3)
        self.goal.x, self.goal.y = (200, 200)
        self._create_mock_teams({player1.id: player1}, {
            player2.id: player2,
            player3.id: player3
        })

        distance_to_target = np.linalg.norm(player1.pose.position - self.goal)
        path_score_to_p2 = trajectory_score(player1.pose.position, self.goal,
                                            player2.pose.position)
        path_score_to_p3 = trajectory_score(player1.pose.position, self.goal,
                                            player3.pose.position)

        assert line_of_sight_clearance(
            player1, self.goal
        ) == distance_to_target * path_score_to_p2 * path_score_to_p3
Пример #3
0
    def test_givenOnePlayerInMyTeamNearFromGoal_thenLineOfSightClearanceIsDistanceToTargetTimesPathScore(
            self):
        player1 = self._build_mock_player(Position(100, 100), 1)
        player2 = self._build_mock_player(Position(130, 130), 2)
        self.goal.x, self.goal.y = (200, 200)
        self._create_mock_teams({player1.id: player1, player2.id: player2}, {})

        distance_to_target = np.linalg.norm(player1.pose.position - self.goal)
        path_score = trajectory_score(player1.pose.position, self.goal,
                                      player2.pose.position)

        assert line_of_sight_clearance(
            player1, self.goal) == distance_to_target * path_score
    def test_givenObstacleOnPath_thenTrajectoryScoreReturnsMaxValue(self):
        self._define_points_obstacle((100, 100), (200, 200), (150, 150))

        assert trajectory_score(self.start_point, self.goal, self.obstacle) == self.MAX_VALUE
    def test_givenObstacleVeryFarFromPlayer_thenTrajectoryScoreReturnsMultiplicativeNullValue(self):
        self._define_points_obstacle((100, 100), (200, 200), (1500, 1500))

        assert trajectory_score(self.start_point, self.goal, self.obstacle) == self.MULTIPLICATIVE_NULL_VALUE
Пример #6
0
    def test_givenObstacleOnPath_thenTrajectoryScoreReturnsMaxValue(self):
        self._define_points_obstacle((100, 100), (200, 200), (150, 150))

        assert trajectory_score(self.start_point, self.goal,
                                self.obstacle) == self.MAX_VALUE