def teste_lancar_passaro_sem_erro_quando_nao_existe_passaro(self): passaros = [PassaroFake(1, 1) for _ in range(2)] fase = Fase() fase.adicionar_passaro(*passaros) self.assertFalse(passaros[0].foi_lancado()) self.assertFalse(passaros[1].foi_lancado()) fase.lancar(90, 1) fase.lancar(45, 3) fase.lancar(31, 5) # testando que lançar passaros depios de todos lançados não causa erro self.assertTrue(passaros[0].foi_lancado()) self.assertTrue(passaros[1].foi_lancado())
def teste_lancar_passaro_sem_erro_quando_nao_existe_passaro(self): passaros = [PassaroFake(1, 1) for _ in range(2)] # cria os passaros fase = Fase() fase.adicionar_passaro(*passaros) # certifica-se de que o método .foi_lancado() retorna False self.assertFalse(passaros[0].foi_lancado()) self.assertFalse(passaros[1].foi_lancado()) fase.lancar(90, 1) # lança o primeiro passaro fase.lancar(45, 3) # lança o segundo passaro fase.lancar( 31, 5) # testando que lançar passaros depois de todos (2 passaros) # lançados não causa erro # verifica se o método .foi_lancado() retorna True self.assertTrue(passaros[0].foi_lancado()) self.assertTrue(passaros[1].foi_lancado())
def criar_fase_exemplo(): fase_exemplo = Fase() passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)] porcos = [Porco(78, 1), Porco(70, 1)] obstaculos = [Obstaculo(31, 10)] fase_exemplo.adicionar_passaro(*passaros) fase_exemplo.adicionar_porco(*porcos) fase_exemplo.adicionar_obstaculo(*obstaculos) fase_exemplo.lancar(45, 1) fase_exemplo.lancar(63, 3) fase_exemplo.lancar(23, 4) for i in range(86): fase_exemplo.calcular_pontos(i / 10)
def teste_lancar_passaro_sem_erro_quando_nao_existe_passaro(self): passaro_vermelho, passaro_amarelo = PassaroVermelho(1, 1), PassaroAmarelo(1, 1) fase = Fase() fase.adicionar_passaro(passaro_vermelho, passaro_amarelo) self.assertFalse(passaro_vermelho.foi_lancado()) self.assertFalse(passaro_amarelo.foi_lancado()) fase.lancar(90, 1) fase.lancar(45, 3) fase.lancar(31, 5) # testando que lançar passaros depios de todos lançados não causa erro self.assertTrue(passaro_vermelho.foi_lancado()) self.assertEqual(math.radians(90), passaro_vermelho._angulo_de_lancamento) self.assertEqual(1, passaro_vermelho._tempo_de_lancamento) self.assertTrue(passaro_amarelo.foi_lancado()) self.assertEqual(math.radians(45), passaro_amarelo._angulo_de_lancamento) self.assertEqual(3, passaro_amarelo._tempo_de_lancamento)
def criar_fase_exemplo(): fase_exemplo = Fase() passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)] porcos = [Porco(78, 1), Porco(70, 1)] obstaculos = [Obstaculo(31, 10)] fase_exemplo.adicionar_passaro(*passaros) fase_exemplo.adicionar_porco(*porcos) fase_exemplo.adicionar_obstaculo(*obstaculos) fase_exemplo.lancar(45, 1) fase_exemplo.lancar(63, 3) fase_exemplo.lancar(23, 4) for i in range(86): fase_exemplo.calcular_pontos(i / 10) return fase_exemplo
expected = [Ponto(31, 11, 'v'), Ponto(57, 30, 'A'), Ponto(69, 2, 'a'), Ponto(31, 10, ' '), Ponto(78, 1, '@'), Ponto(70, 1, '+')] self.assertListEqual(expected, fase_exemplo.calcular_pontos(7)) expected = [Ponto(31, 11, 'v'), Ponto(77, 2, 'a'), Ponto(69, 2, 'a'), Ponto(31, 10, ' '), Ponto(78, 1, '+'), Ponto(70, 1, '+')] self.assertListEqual(expected, fase_exemplo.calcular_pontos(8.5)) self.assertFalse(fase_exemplo.acabou(8.3)) self.assertTrue(fase_exemplo.acabou(8.5)) fase_exemplo = Fase() passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)] porcos = [Porco(78, 1), Porco(70, 1)] obstaculos = [Obstaculo(31, 10)] fase_exemplo.adicionar_passaro(*passaros) fase_exemplo.adicionar_porco(*porcos) fase_exemplo.adicionar_obstaculo(*obstaculos) fase_exemplo.lancar(45, 1) fase_exemplo.lancar(63, 3) fase_exemplo.lancar(23, 4) for i in range(86): fase_exemplo.calcular_pontos(i / 10) if __name__ == '__main__': placa_grafica.animar(fase_exemplo)