Exemple #1
0
class TestTeam(unittest.TestCase):

    def setUp(self):
        self.team = Team(TeamColor.YELLOW_TEAM)
        self.team_blue = Team(TeamColor.BLUE_TEAM)
        self.first_player = self.team.players[0]
        self.second_player = self.team.players[1]
        self.no_player = Player(self.team, 0)

    def test_init(self):
        self.assertEqual(PLAYER_PER_TEAM, len(self.team.players))
        self.assertEqual(0, self.team.score)
        self.assertEqual(TeamColor.YELLOW_TEAM, self.team.team_color)

    def test_has_player_exists(self):
        self.assertTrue(self.team.has_player(self.first_player))

    def test_has_player_no_exists(self):
        self.assertFalse(self.team.has_player(self.no_player))

    def test_update_player(self):
        init_pose = self.first_player.pose
        self.assertEqual(init_pose, self.team.players[0].pose)
        self.team.update_player(0, Pose(Position(500, 500)), 0)
        self.assertNotEqual(init_pose, self.team.players[0].pose)
        self.assertEqual(self.team.players[0].pose, self.first_player.pose)

    def test_invalid_id(self):
        uut = self.team.update_player
        self.assertRaises(KeyError, uut, 10, Pose())

    def test_is_team_yellow(self):
        self.assertTrue(self.team.is_team_yellow())
        self.assertFalse(self.team_blue.is_team_yellow())
Exemple #2
0
class TestTeam(unittest.TestCase):
    def setUp(self):
        self.team = Team(TeamColor.YELLOW)
        self.team_blue = Team(TeamColor.BLUE)
        self.first_player = self.team.players[0]
        self.second_player = self.team.players[1]
        self.no_player = Player(self.team, 0)

    def test_init(self):
        self.assertEqual(PLAYER_PER_TEAM, len(self.team.players))
        self.assertEqual(0, len(self.team.available_players))
        self.assertEqual(0, self.team.score)
        self.assertFalse(self.team.exiting_players)
        self.assertFalse(self.team.entering_players)
        self.assertEqual(TeamColor.YELLOW, self.team.team_color)

    def test_has_player_exists(self):
        self.assertTrue(self.team.has_player(self.first_player))

    def test_has_player_no_exists(self):
        self.assertFalse(self.team.has_player(self.no_player))

    def test_update_player(self):
        init_pose = self.first_player.pose
        self.assertEqual(init_pose, self.team.players[0].pose)
        self.team.update_player(0, [Pose(Position(500, 500))])
        self.assertNotEqual(init_pose, self.team.players[0].pose)
        self.assertEqual(self.team.players[0].pose, self.first_player.pose)

    def test_update_availability_players(self):
        for i in range(MAX_PLAYER_ON_FIELD_PER_TEAM):
            self.team.update_player(i, [Pose(Position(500, 500))])
            self.assertTrue(
                self.team.players[i] in self.team.available_players.values())
        self.team.update_player(MAX_PLAYER_ON_FIELD_PER_TEAM + 1,
                                [Pose(Position(500, 500))])
        self.assertTrue(
            self.team.players[MAX_PLAYER_ON_FIELD_PER_TEAM +
                              1] in self.team.available_players.values())
        self.assertTrue(
            len(self.team.available_players) == MAX_PLAYER_ON_FIELD_PER_TEAM +
            1)
        # simulating 21 frames where we don't see the robot
        for i in range(21):
            self.team.update_player(0, [None])
        self.assertTrue(
            self.team.players[0] not in self.team.available_players.values())

    def test_invalid_id(self):
        AN_INVALID_ID = PLAYER_PER_TEAM + 1
        uut = self.team.update_player
        self.assertRaises(KeyError, uut, AN_INVALID_ID, Pose())

    def test_is_team_yellow(self):
        self.assertTrue(self.team.is_team_yellow())
        self.assertFalse(self.team_blue.is_team_yellow())