def teste_valores_padrao(self): 'Testa valores iniciais padrão de um Ator' ator = Ator() self.assertEqual(0, ator.x) self.assertEqual(0, ator.y) self.assertEqual(ATIVO, ator.status) self.assertEqual('A', ator.caracter())
def teste_valores_passados_por_parametro(self): 'Testa se valores passados no inicializador são armazenados no objeto' ator = Ator(1, 2) self.assertEqual(1, ator.x) self.assertEqual(2, ator.y) self.assertEqual(ATIVO, ator.status) self.assertEqual('A', ator.caracter())
def test_caracter(self): 'Teste de caracter para status ATIVO e DESTRUIDO' ator = Ator() self.assertEqual('A', ator.caracter()) outro_ator_na_mesma_posicao = Ator() ator.colidir(outro_ator_na_mesma_posicao) self.assertEqual(' ', ator.caracter()) self.assertEqual(' ', outro_ator_na_mesma_posicao.caracter())
def teste_ator_posicao(self): ator = Ator() self.assertTupleEqual((0, 0), ator.calcular_posicao(0)) ator = Ator(0.3, 0.5) self.assertTupleEqual((0, 0), ator.calcular_posicao(2.3), 'Deveria arredondar para inteiro') ator = Ator(0.6, 2.1) self.assertTupleEqual((1, 2), ator.calcular_posicao(3.14), 'Deveria arredondar para inteiro')
def teste_ator_posicao(self): ator = Ator() self.assertTupleEqual((0, 0), ator.calcular_posicao(0)) ator = Ator(0.3, 0.5) self.assertTupleEqual((0, 0), ator.calcular_posicao(2.3)) ator = Ator(0.6, 2.1) self.assertTupleEqual((1, 2), ator.calcular_posicao(3.14))
def teste_colisao_somente_um_ator_destruido(self): ator = Ator(2, 2) ator.colidir(ator, 0) ator2 = Ator(2, 2) self.assert_nao_colisao(ator, ator2) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator) self.assert_nao_colisao(ator2, ator) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator)
def teste_colisao_somente_um_ator_destruido(self): ator = Ator(2, 2) ator.colidir(ator, 0) # colidingo ator com ele mesmo para alterar seu status para destruido ator2 = Ator(2, 2) self.assert_nao_colisao(ator, ator2) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator) self.assert_nao_colisao(ator2, ator) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator)
def teste_ator_posicao(self): 'Teste que verifica que o ator comum não deve se mover independente do tempo do jogo' ator = Ator() x, y = ator.calcular_posicao(0) self.assertEqual(0, x) self.assertEqual(0, y) ator = Ator(0.3, 0.5) x, y = ator.calcular_posicao(10) self.assertEqual(0.3, x) self.assertEqual(0.5, y)
def teste_status(self): ator = Ator() 'Confere status de um ator' # Conferencia de caracter de ator ativo self.assertEqual(ATIVO, ator.status(0)) # Colidindo ator com ele mesmo para alterar seu status para destruido ator._tempo_de_colisao = 3.2 self.assertEqual(ATIVO, ator.status(3.1), 'Status para tempo 3.1 de jogo deveria mostrar status ativo, já que é menor que o tempo de colisão 3.2') self.assertEqual(DESTRUIDO, ator.status(3.2), 'Status para tempo 3.2 de jogo deveria mostrar status destruido, já que é igual ao tempo de colisão 3.2') self.assertEqual(DESTRUIDO, ator.status(4), 'Status para tempo 4 de jogo deveria mostrar status destruido, já que é maior que o tempo de colisão 3.2')
def teste_status(self): ator = Ator() 'Confere status de um ator' # Conferencia de caracter de ator ativo self.assertEqual(ATIVO, ator.status(0)) # Colidindo ator com ele mesmo para alterar seu status para destruido ator._tempo_de_colisao = 3.2 self.assertEqual( ATIVO, ator.status(3.1), 'Status para tempo 3.1 de jogo deveria mostrar status ativo, já que é menor que o tempo de colisão 3.2' ) self.assertEqual( DESTRUIDO, ator.status(3.2), 'Status para tempo 3.2 de jogo deveria mostrar status destruido, já que é igual ao tempo de colisão 3.2' ) self.assertEqual( DESTRUIDO, ator.status(4), 'Status para tempo 4 de jogo deveria mostrar status destruido, já que é maior que o tempo de colisão 3.2' )
def teste_status(self): passaro_amarelo = PassaroAmarelo(1, 1) self.assertEqual('A', passaro_amarelo.caracter()) outro_ator_na_mesma_posicao = Ator() passaro_amarelo.colidir(outro_ator_na_mesma_posicao) self.assertEqual('a', passaro_amarelo.caracter())
def teste_resetar(self): ator = Ator() self.assertIsNone(ator._tempo_de_colisao) ator._tempo_de_colisao = 1 ator.resetar() self.assertIsNone(ator._tempo_de_colisao)
def teste_status(self): porco = Porco() self.assertEqual('@', porco.caracter()) outro_ator_na_mesma_posicao = Ator() porco.colidir(outro_ator_na_mesma_posicao) self.assertEqual('+', porco.caracter())
def teste_status(self): obstaculo = Obstaculo() self.assertEqual('O', obstaculo.caracter()) outro_ator_na_mesma_posicao = Ator() obstaculo.colidir(outro_ator_na_mesma_posicao) self.assertEqual(' ', obstaculo.caracter())
def teste_nao_colisao_entre_atores_ativos(self): self.assert_nao_colisao(Ator(2, 2), Ator(2, 4)) self.assert_nao_colisao(Ator(2, 2), Ator(3, 4)) self.assert_nao_colisao(Ator(2, 2), Ator(4, 2)) self.assert_nao_colisao(Ator(2, 2), Ator(3, 0)) self.assert_nao_colisao(Ator(2, 2), Ator(2, 0)) self.assert_nao_colisao(Ator(2, 2), Ator(0, 1)) self.assert_nao_colisao(Ator(2, 2), Ator(0, 2)) self.assert_nao_colisao(Ator(2, 2), Ator(0, 4))
def teste_colisao_entre_atores_ativos(self): ator = Ator(2, 2) # Ator recém criado deve ter status ativo ator2 = Ator(2, 2) self.assert_colisao_atores_ativos(ator, ator2) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(2, 3)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(3, 3)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(3, 2)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(3, 1)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(2, 1)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(1, 1)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(1, 2)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(1, 3))
def test_caracter(self): ator = Ator() self.assert_ator_caracteres(ator, 'A', ' ')
def teste_nao_colisao_entre_atores_ativos(self): 'Teste de que não há colisão entre atores distantes' self.assert_nao_colisao(Ator(2, 2), Ator(2, 4)) self.assert_nao_colisao(Ator(2, 2), Ator(3, 4)) self.assert_nao_colisao(Ator(2, 2), Ator(4, 2)) self.assert_nao_colisao(Ator(2, 2), Ator(3, 0)) self.assert_nao_colisao(Ator(2, 2), Ator(2, 0)) self.assert_nao_colisao(Ator(2, 2), Ator(0, 1)) self.assert_nao_colisao(Ator(2, 2), Ator(0, 2)) self.assert_nao_colisao(Ator(2, 2), Ator(0, 4))
def teste_colisao_entre_atores_ativos(self): """ Teste de colisão entre dois atores Incialmente atores possuem status ATIVO. Ao se chocarem, ele muda para Destruído A função assert_colisao_atores_ativos testa justamente se dois atore ativos se chocam quando estão em posições vizinhas. """ ator = Ator(2, 2) # Ator recém criado deve ter status ativo ator2 = Ator(2, 2) self.assert_colisao_atores_ativos(ator, ator2) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(2, 3)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(3, 3)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(3, 2)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(3, 1)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(2, 1)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(1, 1)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(1, 2)) self.assert_colisao_atores_ativos(Ator(2, 2), Ator(1, 3))
def teste_status(self): passaro_vermelho = PassaroVermelho(1, 1) self.assertEqual('V', passaro_vermelho.caracter()) outro_ator_na_mesma_posicao = Ator() passaro_vermelho.colidir(outro_ator_na_mesma_posicao) self.assertEqual('v', passaro_vermelho.caracter())
def teste_colisao_entre_atores_ativos_com_intervalo(self): # Com intervalo 2, diferente do padrão 1, essa colisão deveria acontecer self.assert_colisao_atores_ativos(Ator(2, 2), Ator(2, 4), 2)
def teste_colisao_somente_um_ator_destruido(self): ator = Ator(2, 2) ator.colidir( ator, 0 ) # colidingo ator com ele mesmo para alterar seu status para destruido ator2 = Ator(2, 2) self.assert_nao_colisao(ator, ator2) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator) self.assert_nao_colisao(ator2, ator) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator)
def teste_colisao_somente_um_ator_destruido(self): 'Teste de que um ator destruído não pode colidir com nenhum outro, mesmo que estejam próximos' ator = Ator(2, 2) ator.colidir( ator, 0 ) # colidindo ator com ele mesmo para alterar seu status para destruido ator2 = Ator(2, 2) self.assert_nao_colisao(ator, ator2) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator) self.assert_nao_colisao(ator2, ator) self.assert_nao_colisao(Ator(2, 3), ator) self.assert_nao_colisao(Ator(3, 3), ator) self.assert_nao_colisao(Ator(3, 2), ator) self.assert_nao_colisao(Ator(3, 1), ator) self.assert_nao_colisao(Ator(2, 1), ator) self.assert_nao_colisao(Ator(1, 1), ator) self.assert_nao_colisao(Ator(1, 2), ator) self.assert_nao_colisao(Ator(1, 3), ator)
def test_caracter(self): 'Teste de caracter para ator ATIVO e DESTRUIDO' ator = Ator() self.assert_ator_caracteres(ator, 'A', ' ')