Skip to content

Commit 3ec0c7c

Browse files
author
renzon
committed
Acrescentando testa para resetar de fase
1 parent 18ee8d3 commit 3ec0c7c

1 file changed

Lines changed: 29 additions & 5 deletions

File tree

testes/fase_testes.py

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# -*- coding: utf-8 -*-
2+
from itertools import chain
23

34
import os
45
from unittest.case import TestCase
@@ -9,7 +10,7 @@
910
project_dir = os.path.normpath(project_dir)
1011
sys.path.append(project_dir)
1112

12-
from atores import Obstaculo, Porco, PassaroVermelho, PassaroAmarelo
13+
from atores import Obstaculo, Porco, PassaroVermelho, PassaroAmarelo, DESTRUIDO, ATIVO
1314
from fase import Fase, Ponto
1415
import placa_grafica
1516

@@ -48,23 +49,23 @@ def teste_adicionar_passaro(self):
4849
fase.adicionar_passaro(passaro1, passaro2)
4950
self.assertListEqual([passaro, passaro1, passaro2], fase._passaros)
5051

52+
5153
def teste_acabou_sem_porcos(self):
5254
fase = Fase()
5355
self.assertTrue(fase.acabou(0))
5456

5557
def teste_acabou_com_porcos_e_passaros(self):
5658
fase = Fase()
57-
porcos = [Porco(1, 1) for i in range(2)] #criando 2 porcos
58-
passaros = [PassaroAmarelo(1, 1) for i in range(2)] #criando 2 pássaros
59+
porcos = [Porco(1, 1) for i in range(2)] # criando 2 porcos
60+
passaros = [PassaroAmarelo(1, 1) for i in range(2)] # criando 2 pássaros
5961
fase.adicionar_porco(*porcos)
6062
fase.adicionar_passaro(*passaros)
6163

62-
6364
self.assertFalse(fase.acabou(0))
6465
self.assertFalse(fase.acabou(2.9))
6566
self.assertFalse(fase.acabou(3))
6667

67-
#colidingo cada passaro com um porco no tempo 3
68+
# colidingo cada passaro com um porco no tempo 3
6869
for passaro, porco in zip(passaros, porcos):
6970
passaro.colidir(porco, 3)
7071

@@ -155,6 +156,29 @@ def teste_calcular_pontos(self):
155156
self.assertFalse(fase_exemplo.acabou(8.3))
156157
self.assertTrue(fase_exemplo.acabou(8.5))
157158

159+
def teste_resetar(self):
160+
fase_exemplo = criar_fase_exemplo()
161+
atores = list(chain(fase_exemplo._passaros, fase_exemplo._obstaculos, fase_exemplo._porcos))
162+
fase_exemplo.calcular_pontos(0)
163+
164+
fase_exemplo.calcular_pontos(4)
165+
166+
fase_exemplo.calcular_pontos(7)
167+
fase_exemplo.calcular_pontos(8.5)
168+
169+
self.assertFalse(fase_exemplo.acabou(8.3))
170+
self.assertTrue(fase_exemplo.acabou(8.5))
171+
# certificando que todos atore foram destruidos
172+
for a in atores:
173+
self.assertEqual(DESTRUIDO, a.status(8.5))
174+
for p in fase_exemplo._passaros:
175+
self.assertTrue(p.foi_lancado(), 'Todos pássaros foram lançados')
176+
fase_exemplo.resetar()
177+
for a in atores:
178+
self.assertEqual(ATIVO, a.status(8.5), 'Após resetar atore devem voltar a ficar ativos')
179+
for p in fase_exemplo._passaros:
180+
self.assertFalse(p.foi_lancado(), 'Nenhum pássaro foi lançado')
181+
158182

159183
def criar_fase_exemplo():
160184
fase_exemplo = Fase()

0 commit comments

Comments
 (0)