def teste_colisao(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(45, 2) # passaro lancado a 45 graus no tempo 2 segundos porco = Porco(4, 4) passaro_amarelo.calcular_posicao(2.12) # tempo exato quanto o passário chega em 4,3 passaro_amarelo.colidir(porco, 2.12) self.assertEqual(DESTRUIDO, passaro_amarelo.status(2.12)) # Deve ficar parado onde colidiu para qualquer tempo maior que o de colisão self.assertTupleEqual((4, 3), passaro_amarelo.calcular_posicao(2.13)) self.assertTupleEqual((4, 3), passaro_amarelo.calcular_posicao(1000))
def teste_intervalo_de_colisao_nao_padrao(self): ''' Método que testa se o intervalo de colisão da Fase é repassado aos atores. valor testado: 31 ''' fase = Fase(30) passaro = PassaroAmarelo(1, 1) fase.adicionar_passaro(passaro) porco = Porco(31, 31) fase.adicionar_porco(porco) fase.calcular_pontos(0) self.assertEqual(DESTRUIDO, passaro.status(0)) self.assertEqual(DESTRUIDO, porco.status(0))
def teste_colisao(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(45, 2) # passaro lancado a 45 graus no tempo 2 segundos porco = Porco(4, 4) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) passaro_amarelo.colidir(porco, 2.12) self.assertEqual(DESTRUIDO, passaro_amarelo.status(2.12)) # Deve ficar parado onde colidiu para qualquer tempo maior ou igual que o de colisão x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(1000) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado)
def teste_colisao(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 45, 2) # passaro lancado a 45 graus no tempo 2 segundos porco = Porco(4, 4) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) passaro_amarelo.colidir(porco, 2.12) self.assertEqual(DESTRUIDO, passaro_amarelo.status(2.12)) # Deve ficar parado onde colidiu para qualquer tempo maior ou igual que o de colisão x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(1000) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado)
def teste_colisao_com_chao(self): for i in range(30): passaro = PassaroAmarelo(i, 0) passaro.colidir_com_chao(3) self.assertEqual(DESTRUIDO, passaro.status(3), 'Deve colidir com chão sempre que y=0')