예제 #1
0
    def teste_colisao(self):
        passaro_vermelho = PassaroVermelho(1, 1)
        passaro_vermelho.lancar(45, 2)  # passaro lancado a 45 graus no tempo 2 segundos
        # Código de geração de testes

        porco = Porco(14, 10)
        passaro_vermelho.calcular_posicao(2.89)  # tempo exato quanto o passário chega em 14,10
        passaro_vermelho.colidir(porco, 2.89)
        self.assertEqual(DESTRUIDO, passaro_vermelho.status(2.89))
        # Deve ficar parado onde colidiu para qualquer tempo maior que o de colisão
        self.assertTupleEqual((14, 10), passaro_vermelho.calcular_posicao(2.9))
        self.assertTupleEqual((14, 10), passaro_vermelho.calcular_posicao(1000))
예제 #2
0
 def teste_posicao_antes_do_lancamento(self):
     passaro_vermelho = PassaroVermelho(1, 1)
     passaro_vermelho.lancar(90, 2)  # passaro lancado a 90 graus no tempo 2 segundos
     #
     for t in range(20):
         t /= 10
         self.assertEqual((1, 1), passaro_vermelho.calcular_posicao(t),
                          'Não deveria se mover no tempo %s < 2 segundtos' % t)
예제 #3
0
    def teste_colisao(self):
        passaro_vermelho = PassaroVermelho(1, 1)
        passaro_vermelho.lancar(45, 2)  # passaro lancado a 45 graus no tempo 2 segundos

        porco = Porco(14, 10)
        x_calculado, y_calculado = passaro_vermelho.calcular_posicao(2.89)
        self.assertEqual(14, x_calculado)
        self.assertEqual(10, y_calculado)

        passaro_vermelho.colidir(porco, 2.89)
        self.assertEqual(DESTRUIDO, passaro_vermelho.status(2.89))

        # Deve ficar parado onde colidiu para qualquer tempo maior ou igual que o de colisão
        x_calculado, y_calculado = passaro_vermelho.calcular_posicao(2.89)
        self.assertEqual(14, x_calculado)
        self.assertEqual(10, y_calculado)

        x_calculado, y_calculado = passaro_vermelho.calcular_posicao(4)
        self.assertEqual(14, x_calculado)
        self.assertEqual(10, y_calculado)
예제 #4
0
 def teste_posicao_antes_do_lancamento(self):
     'Método que testa que o pássaro fica parado antes do tempo de lançamento'
     passaro_vermelho = PassaroVermelho(1, 1)
     passaro_vermelho.lancar(
         90, 2)  # passaro lancado a 90 graus no tempo 2 segundos
     #
     for t in range(20):
         t /= 10
         self.assertEqual(
             (1, 1), passaro_vermelho.calcular_posicao(t),
             'Não deveria se mover no tempo %s < 2 segundtos' % t)
예제 #5
0
    def teste_colisao(self):
        passaro_vermelho = PassaroVermelho(1, 1)
        passaro_vermelho.lancar(
            45, 2)  # passaro lancado a 45 graus no tempo 2 segundos

        porco = Porco(14, 10)
        x_calculado, y_calculado = passaro_vermelho.calcular_posicao(2.89)
        self.assertEqual(14, x_calculado)
        self.assertEqual(10, y_calculado)

        passaro_vermelho.colidir(porco, 2.89)
        self.assertEqual(DESTRUIDO, passaro_vermelho.status(2.89))

        # Deve ficar parado onde colidiu para qualquer tempo maior ou igual que o de colisão
        x_calculado, y_calculado = passaro_vermelho.calcular_posicao(2.89)
        self.assertEqual(14, x_calculado)
        self.assertEqual(10, y_calculado)

        x_calculado, y_calculado = passaro_vermelho.calcular_posicao(4)
        self.assertEqual(14, x_calculado)
        self.assertEqual(10, y_calculado)