Skip to content

Commit eb90db3

Browse files
author
renzon
committed
Testes de status de fase
1 parent 7b20ecd commit eb90db3

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

testes/fase_testes.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,34 @@ def teste_acabou_com_porcos_e_passaros(self):
7070
fase.adicionar_porco(PassaroAmarelo())
7171
self.assertTrue(fase.acabou(3), 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar')
7272

73+
def teste_status(self):
74+
fase = Fase()
75+
porcos = [Porco(1, 1) for i in range(2)]
76+
passaros = [PassaroAmarelo(1, 1) for i in range(2)]
77+
fase.adicionar_porco(*porcos)
78+
fase.adicionar_passaro(*passaros)
79+
self.assertEqual('Jogo em andamento.', fase.status(0))
80+
self.assertEqual('Jogo em andamento.', fase.status(2.9))
81+
self.assertEqual('Jogo em andamento.', fase.status(3))
82+
83+
for passaro, porco in zip(passaros, porcos):
84+
passaro.colidir(porco, 3)
85+
86+
self.assertEqual('Jogo em andamento.', fase.status(0))
87+
self.assertEqual('Jogo em andamento.', fase.status(2.9))
88+
self.assertEqual('Jogo em encerrado. Você ganhou!', fase.status(3),
89+
'Sem porcos ativos o jogo deveria terminar com vitória')
90+
91+
fase.adicionar_obstaculo(Obstaculo())
92+
self.assertEqual('Jogo em encerrado. Você ganhou!', fase.status(3),
93+
'Obstáculo não interfere para definir vitória')
94+
95+
fase.adicionar_porco(Porco())
96+
self.assertEqual('Jogo em encerrado. Você perdeu!', fase.status(3),
97+
'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar em derrota')
98+
99+
fase.adicionar_porco(PassaroAmarelo())
100+
self.assertEqual('Jogo em andamento.', fase.acabou(3),
101+
'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar')
102+
73103

0 commit comments

Comments
 (0)