@@ -52,7 +52,7 @@ def teste_adicionar_passaro(self):
52
52
53
53
def teste_acabou_sem_porcos (self ):
54
54
fase = Fase ()
55
- self .assertTrue (fase .acabou (0 ))
55
+ self .assertTrue (fase .acabou ())
56
56
57
57
def teste_acabou_com_porcos_e_passaros (self ):
58
58
fase = Fase ()
@@ -61,60 +61,52 @@ def teste_acabou_com_porcos_e_passaros(self):
61
61
fase .adicionar_porco (* porcos )
62
62
fase .adicionar_passaro (* passaros )
63
63
64
- self .assertFalse (fase .acabou (0 ))
65
- self .assertFalse (fase .acabou (2.9 ))
66
- self .assertFalse (fase .acabou (3 ))
64
+ self .assertFalse (fase .acabou ())
67
65
68
- # colidingo cada passaro com um porco no tempo 3
66
+ # colidindo cada passaro com um porco no tempo 3
69
67
for passaro , porco in zip (passaros , porcos ):
70
68
passaro .colidir (porco , 3 )
71
69
72
- self .assertFalse (fase .acabou (0 ))
73
- self .assertFalse (fase .acabou (2.9 ))
74
- self .assertTrue (fase .acabou (3 ))
70
+ self .assertTrue (fase .acabou ())
75
71
76
72
fase .adicionar_obstaculo (Obstaculo ())
77
- self .assertTrue (fase .acabou (3 ), 'Obstáculo não interfere no fim do jogo' )
73
+ self .assertTrue (fase .acabou (), 'Obstáculo não interfere no fim do jogo' )
78
74
79
75
fase .adicionar_porco (Porco ())
80
- self .assertTrue (fase .acabou (3 ), 'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar' )
76
+ self .assertTrue (fase .acabou (), 'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar' )
81
77
82
78
fase .adicionar_passaro (PassaroAmarelo ())
83
- self .assertFalse (fase .acabou (3 ), 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar' )
79
+ self .assertFalse (fase .acabou (), 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar' )
84
80
85
81
def teste_status (self ):
86
82
fase = Fase ()
87
83
porcos = [Porco (1 , 1 ) for i in range (2 )]
88
84
passaros = [PassaroAmarelo (1 , 1 ) for i in range (2 )]
89
85
fase .adicionar_porco (* porcos )
90
86
fase .adicionar_passaro (* passaros )
91
- self .assertEqual ('Jogo em andamento.' , fase .status (0 ))
92
- self .assertEqual ('Jogo em andamento.' , fase .status (2.9 ))
93
- self .assertEqual ('Jogo em andamento.' , fase .status (3 ))
87
+ self .assertEqual ('Jogo em andamento.' , fase .status ())
94
88
95
89
for passaro , porco in zip (passaros , porcos ):
96
90
passaro .colidir (porco , 3 )
97
91
98
- self .assertEqual ('Jogo em andamento.' , fase .status (0 ))
99
- self .assertEqual ('Jogo em andamento.' , fase .status (2.9 ))
100
- self .assertEqual ('Jogo em encerrado. Você ganhou!' , fase .status (3 ),
92
+ self .assertEqual ('Jogo em encerrado. Você ganhou!' , fase .status (),
101
93
'Sem porcos ativos o jogo deveria terminar com vitória' )
102
94
103
95
fase .adicionar_obstaculo (Obstaculo ())
104
- self .assertEqual ('Jogo em encerrado. Você ganhou!' , fase .status (3 ),
96
+ self .assertEqual ('Jogo em encerrado. Você ganhou!' , fase .status (),
105
97
'Obstáculo não interfere para definir vitória' )
106
98
107
99
porco = Porco ()
108
100
fase .adicionar_porco (porco )
109
- self .assertEqual ('Jogo em encerrado. Você perdeu!' , fase .status (3 ),
101
+ self .assertEqual ('Jogo em encerrado. Você perdeu!' , fase .status (),
110
102
'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar em derrota' )
111
103
112
104
fase .adicionar_passaro (PassaroAmarelo ())
113
- self .assertEqual ('Jogo em andamento.' , fase .status (3 ),
105
+ self .assertEqual ('Jogo em andamento.' , fase .status (),
114
106
'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar' )
115
107
116
108
porco .colidir (porco , 3 )
117
- self .assertEqual ('Jogo em encerrado. Você ganhou!' , fase .status (3 ),
109
+ self .assertEqual ('Jogo em encerrado. Você ganhou!' , fase .status (),
118
110
'Sem porco ativo, o jogo deveria acabar com vitória' )
119
111
120
112
def teste_lancar_passaro_sem_erro_quando_nao_existe_passaro (self ):
@@ -145,8 +137,8 @@ def teste_intervalo_de_colisao_padrão(self):
145
137
porco = Porco (2 , 2 )
146
138
fase .adicionar_porco (porco )
147
139
fase .calcular_pontos (0 )
148
- self .assertEqual (DESTRUIDO , passaro .status ( 0 ) )
149
- self .assertEqual (DESTRUIDO , porco .status ( 0 ) )
140
+ self .assertEqual (DESTRUIDO , passaro .status )
141
+ self .assertEqual (DESTRUIDO , porco .status )
150
142
151
143
def teste_intervalo_de_colisao_nao_padrao (self ):
152
144
'''
@@ -158,53 +150,54 @@ def teste_intervalo_de_colisao_nao_padrao(self):
158
150
porco = Porco (31 , 31 )
159
151
fase .adicionar_porco (porco )
160
152
fase .calcular_pontos (0 )
161
- self .assertEqual (DESTRUIDO , passaro .status ( 0 ) )
162
- self .assertEqual (DESTRUIDO , porco .status ( 0 ) )
153
+ self .assertEqual (DESTRUIDO , passaro .status )
154
+ self .assertEqual (DESTRUIDO , porco .status )
163
155
164
156
def teste_calcular_pontos (self ):
165
157
fase_exemplo = criar_fase_exemplo ()
166
158
expected = [Ponto (3 , 3 , 'V' ), Ponto (3 , 3 , 'A' ), Ponto (3 , 3 , 'A' ), Ponto (31 , 10 , 'O' ), Ponto (78 , 1 , '@' ),
167
159
Ponto (70 , 1 , '@' )]
168
160
self .assertListEqual (expected , fase_exemplo .calcular_pontos (0 ))
169
161
170
- expected = [Ponto (31 , 11 , 'v' ), Ponto (17 , 25 , 'A' ), Ponto (3 , 3 , 'A' ), Ponto (31 , 10 , ' ' ), Ponto (78 , 1 , '@' ),
162
+ fase_exemplo .lancar (45 , 1 )
163
+
164
+ # i variando de 1 até 2.9
165
+ for i in range (100 , 300 , 1 ):
166
+ fase_exemplo .calcular_pontos (i / 100 )
167
+
168
+ fase_exemplo .lancar (63 , 3 )
169
+
170
+ # i variando de 3 até 3.9
171
+ for i in range (300 , 400 , 1 ):
172
+ fase_exemplo .calcular_pontos (i / 100 )
173
+
174
+ fase_exemplo .lancar (23 , 4 )
175
+
176
+ expected = [Ponto (32 , 11 , 'v' ), Ponto (17 , 25 , 'A' ), Ponto (3 , 3 , 'A' ), Ponto (31 , 10 , ' ' ), Ponto (78 , 1 , '@' ),
171
177
Ponto (70 , 1 , '@' )]
178
+
172
179
self .assertListEqual (expected , fase_exemplo .calcular_pontos (4 ))
173
180
174
- expected = [ Ponto ( 31 , 11 , 'v' ), Ponto ( 57 , 30 , 'A' ), Ponto ( 69 , 2 , 'a' ), Ponto ( 31 , 10 , ' ' ), Ponto ( 78 , 1 , '@' ),
175
- Ponto ( 70 , 1 , '+' )]
176
- self . assertListEqual ( expected , fase_exemplo .calcular_pontos (7 ) )
181
+ # i variando de 4 até 6.9
182
+ for i in range ( 400 , 700 , 1 ):
183
+ fase_exemplo .calcular_pontos (i / 100 )
177
184
178
- expected = [Ponto (31 , 11 , 'v' ), Ponto (77 , 2 , 'a ' ), Ponto (69 , 2 , 'a' ), Ponto (31 , 10 , ' ' ), Ponto (78 , 1 , '+ ' ),
185
+ expected = [Ponto (32 , 11 , 'v' ), Ponto (57 , 30 , 'A ' ), Ponto (70 , 2 , 'a' ), Ponto (31 , 10 , ' ' ), Ponto (78 , 1 , '@ ' ),
179
186
Ponto (70 , 1 , '+' )]
180
- self .assertListEqual (expected , fase_exemplo .calcular_pontos (8.5 ))
181
187
182
- self .assertFalse (fase_exemplo .acabou (8.3 ))
183
- self .assertTrue (fase_exemplo .acabou (8.5 ))
188
+ self .assertListEqual (expected , fase_exemplo .calcular_pontos (7 ))
184
189
185
- def teste_resetar (self ):
186
- 'Testa se o método resetar de faze chama o método resetar de todos atores'
187
- fase_exemplo = criar_fase_exemplo ()
188
- atores = list (chain (fase_exemplo ._passaros , fase_exemplo ._obstaculos , fase_exemplo ._porcos ))
189
- fase_exemplo .calcular_pontos (0 )
190
+ # i variando de 7 até 8.49
191
+ for i in range (700 , 849 , 1 ):
192
+ fase_exemplo .calcular_pontos (i / 100 )
193
+ print (fase_exemplo .calcular_pontos (8.5 ))
190
194
191
- fase_exemplo .calcular_pontos (4 )
192
195
193
- fase_exemplo .calcular_pontos (7 )
194
- fase_exemplo .calcular_pontos (8.5 )
196
+ expected = [Ponto (32 ,11 ,'v' ), Ponto (77 ,0 ,'a' ), Ponto (70 ,2 ,'a' ), Ponto (31 ,10 ,' ' ), Ponto (78 ,1 ,'+' ), Ponto (70 ,1 ,'+' )]
195
197
196
- self .assertFalse (fase_exemplo .acabou (8.3 ))
197
- self .assertTrue (fase_exemplo .acabou (8.5 ))
198
- # certificando que todos atore foram destruidos
199
- for a in atores :
200
- self .assertEqual (DESTRUIDO , a .status (8.5 ))
201
- for p in fase_exemplo ._passaros :
202
- self .assertTrue (p .foi_lancado (), 'Todos pássaros foram lançados' )
203
- fase_exemplo .resetar ()
204
- for a in atores :
205
- self .assertEqual (ATIVO , a .status (8.5 ), 'Após resetar atore devem voltar a ficar ativos' )
206
- for p in fase_exemplo ._passaros :
207
- self .assertFalse (p .foi_lancado (), 'Nenhum pássaro foi lançado' )
198
+ self .assertListEqual (expected , fase_exemplo .calcular_pontos (8.5 ))
199
+
200
+ self .assertTrue (fase_exemplo .acabou ())
208
201
209
202
210
203
def criar_fase_exemplo ():
@@ -217,12 +210,6 @@ def criar_fase_exemplo():
217
210
fase_exemplo .adicionar_porco (* porcos )
218
211
fase_exemplo .adicionar_obstaculo (* obstaculos )
219
212
220
- fase_exemplo .lancar (45 , 1 )
221
- fase_exemplo .lancar (63 , 3 )
222
- fase_exemplo .lancar (23 , 4 )
223
-
224
- for i in range (86 ):
225
- fase_exemplo .calcular_pontos (i / 10 )
226
213
return fase_exemplo
227
214
228
215
0 commit comments