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_posicao_antes_do_lancamento(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(90, 2) # passaro lancado a 90 graus no tempo 2 segundos # for t in range(20): t /= 10 self.assertEqual((1, 1), passaro_amarelo.calcular_posicao(t), 'Não deveria se mover no tempo %s < 2 segundtos' % t)
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_posicao_antes_do_lancamento(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 90, 2) # passaro lancado a 90 graus no tempo 2 segundos # for t in range(20): t /= 10 self.assertEqual( (1, 1), passaro_amarelo.calcular_posicao(t), 'Não deveria se mover no tempo %s < 2 segundtos' % t)