Exemplo n.º 1
0
class TestBall(unittest.TestCase):
    def setUp(self):
        self.ball = Ball(580, 280, 800, 600)
        self.bat = Bat(775, 250, 800, 600)
        self.computer = ComputerAi(self.ball, self.bat, 800, "average")

    def test_maila_ei_liiku_kun_pallo_menossa_pois(self):
        self.ball.set_velocity(-2, -3)
        self.ball.update()
        self.computer.ai_player_move(False)
        self.assertEqual((self.bat.rect.y), 250)

    def test_maila_liikkuu_ylos_kun_pallo_tulossa_kohti_ylos(self):
        self.ball.set_velocity(5, -3)
        self.ball.update()
        self.computer.ai_player_move(False)
        self.assertEqual((self.bat.rect.y), 246)

    def test_maila_liikkuu_alas_kun_pallo_tulossa_kohti_alas(self):
        self.bat.set_y_position(200)
        self.ball.set_velocity(5, 3)
        self.ball.update()
        self.computer.ai_player_move(False)
        self.assertEqual((self.bat.rect.y), 204)

    def test_ai_lyo_palloa_kun_x_nopeus_alle_7(self):
        self.ball.rect.x = 720
        self.ball.set_velocity(4, 4)
        self.computer.ai_player_move(False)
        self.assertEqual(self.computer.ai_player_move(False), True)

    def test_ai_ei_lyo_palloa_kun_x_nopeus_yli_7(self):
        self.ball.rect.x = 720
        self.ball.set_velocity(8, 4)
        self.computer.ai_player_move(False)
        self.assertEqual(self.computer.ai_player_move(False), False)

    def test_ai_ei_lyo_palloa_kun_maila_ei_ole_kohdalla(self):
        self.ball.rect.x = 720
        self.ball.rect.y = 100
        self.ball.set_velocity(4, 4)
        self.computer.ai_player_move(False)
        self.assertEqual(self.computer.ai_player_move(False), False)

    def test_maila_liikkuu_alas_kun_pallo_tulossa_kohti_easy(self):
        self.computer = ComputerAi(self.ball, self.bat, 800, "easy")
        self.bat.set_y_position(200)
        self.ball.set_velocity(4, 3)
        self.ball.update()
        self.computer.ai_player_move(False)
        self.assertEqual((self.bat.rect.y), 202)

    def test_maila_liikkuu_ylos_kun_pallo_tulossa_kohti_easy(self):
        self.computer = ComputerAi(self.ball, self.bat, 800, "easy")
        self.ball.set_velocity(6, -3)
        self.ball.update()
        self.computer.ai_player_move(False)
        self.assertEqual((self.bat.rect.y), 248)
Exemplo n.º 2
0
class TestBall(unittest.TestCase):
    def setUp(self):
        self.ball = Ball(380, 280, 800, 600)

    def test_konstruktori_asetti_pallon_haluttuun_kohtaan(self):
        self.assertEqual((self.ball.rect.x), 380)
        self.assertEqual((self.ball.rect.y), 280)

    def test_pallon_sijainnin_asetus(self):
        self.ball.set_position(100, 99)
        self.assertEqual((self.ball.rect.x), 100)
        self.assertEqual((self.ball.rect.y), 99)

    def test_pallon_nopeus_on_oikea_ja_se_muuttuu_oikein(self):
        self.ball.set_velocity(3, 2)
        self.assertEqual((self.ball.get_x_velocity()), 3)
        self.assertEqual((self.ball.get_y_velocity()), 2)
        self.ball.set_velocity(-2, -3)
        self.assertEqual((self.ball.get_x_velocity()), -2)
        self.assertEqual((self.ball.get_y_velocity()), -3)

    def test_pallon_nopeus_ei_nouse_liikaa_pos(self):
        self.ball.set_velocity(6, 9)
        self.ball.set_velocity(11, 11)
        self.assertEqual((self.ball.get_x_velocity()), 10)
        self.assertEqual((self.ball.get_y_velocity()), 9)

    def test_pallon_nopeus_ei_nouse_liikaa_neg(self):
        self.ball.set_velocity(-8, -8)
        self.ball.set_velocity(-11, -11)
        self.assertEqual((self.ball.get_x_velocity()), -10)
        self.assertEqual((self.ball.get_y_velocity()), -8)

    def test_pallon_tilanne_paivittyy(self):
        self.ball.set_position(50, 50)
        self.ball.set_velocity(4, 2)
        self.ball.update()
        self.assertEqual((self.ball.rect.x), 54)
        self.assertEqual((self.ball.rect.y), 52)

    def test_pallon_tilanne_paivittyy_ja_suunta_muuttuu_alas(self):
        self.ball.set_position(70, 1)
        self.ball.set_velocity(2, -3)
        self.ball.update()
        self.assertEqual((self.ball.rect.y), 0)
        self.ball.update()
        self.assertEqual((self.ball.rect.y), 3)

    def test_pallon_tilanne_paivittyyja_suunta_muuttuu_ylos(self):
        self.ball.set_position(85, 513)
        self.ball.set_velocity(2, 3)
        self.ball.update()
        self.assertEqual((self.ball.rect.y), 515)
        self.ball.update()
        self.assertEqual((self.ball.rect.y), 512)
Exemplo n.º 3
0
class TestGamevents(unittest.TestCase):
    def setUp(self):
        pygame.init()
        screen = pygame.display.set_mode((800, 600))
        self.gamevents = Gamevents(800, 600)
        self.score = Score(screen, 800, 600, 5)
        self.ball = Ball(380, 280, 800, 600)
        self.bat1 = Bat(5, 280, 800, 600)
        self.bat2 = Bat(775, 280, 800, 600)

    def test_tietokone_odotuksen_jalkeen_palauttaa_false(self):
        self.assertEqual(self.gamevents.wait(3), False)

    def test_tietokone_laukaisee_pallon(self):
        self.assertEqual(self.gamevents.launch(3, self.ball), True)

    def test_pallo_lahtee_liikkeelle_kun_peli_alkaa(self):
        self.assertEqual(self.gamevents.launch(0, self.ball), True)

    def test_against_wall_pallo_pysyy_poydalla_hiscore_ei_muutu(self):
        run, hiscore = self.gamevents.ball_on_table(self.ball, self.score, 4,
                                                    5, True)
        self.assertEqual(run, True)
        self.assertEqual(hiscore, 5)

    def test_pelaaja_saa_pisteen_tietokonetta_vastaan(self):
        self.ball.rect.x = 805
        run, score = self.gamevents.is_p1_score(self.ball, 1, self.score, True,
                                                False, None)
        self.assertEqual(run, True)
        self.assertEqual(score, 2)

    def test_tietokone_voittaa_pelin(self):
        self.ball.rect.x = -44
        run, score = self.gamevents.is_p2_score(self.ball, 4, self.score, True,
                                                3, None)
        self.assertEqual(run, False)
        self.assertEqual(score, 5)

    def test_pallo_kimpoaa_mailasta_against_wall(self):
        self.ball.rect.x = 28
        self.ball.set_velocity(-6, 1)
        self.bat1.set_y_position(275)
        self.ball.update()
        score = self.gamevents.collision_wall(self.ball, self.bat1, 1, None)
        self.assertGreater(self.ball.get_x_velocity(), 3)
        self.assertEqual(score, 2)

    def test_pallo_kimpoaa_taka_seinasta_against_wall(self):
        self.ball.rect.x = 0.75 * 800 - 50
        self.ball.set_velocity(7, 1)
        self.ball.update()
        self.gamevents.collision_wall(self.ball, self.bat1, 2, None)
        self.assertLess(self.ball.get_x_velocity(), 0)

    def test_pallo_vaihtaa_suuntaa_pelaajan1_mailasta(self):
        self.ball.set_position(31, 120)
        self.ball.set_velocity(-8, 3)
        self.bat1.set_y_position(100)
        self.ball.update()
        self.gamevents.collision(self.bat1, self.bat2, self.ball, None, True)
        self.assertGreater(self.ball.get_x_velocity(), 6)

    def test_pallo_vaihtaa_suuntaa_pelaajan2_mailasta(self):
        self.ball.set_position(735, 120)
        self.ball.set_velocity(8, 3)
        self.bat2.set_y_position(100)
        self.ball.update()
        self.gamevents.collision(self.bat1, self.bat2, self.ball, None, False)
        self.assertLess(self.ball.get_x_velocity(), -6)