|
1 | | -# -*- coding: utf-8 -*- |
2 | | - |
3 | | -from __future__ import unicode_literals |
| 1 | +import os |
4 | 2 | from unittest.case import TestCase |
5 | 3 | import math |
| 4 | +import sys |
| 5 | + |
| 6 | +project_dir = os.path.join(os.path.dirname(__file__), '..') |
| 7 | +project_dir = os.path.normpath(project_dir) |
| 8 | +sys.path.append(project_dir) |
| 9 | + |
6 | 10 | from atores import Obstaculo, Porco, PassaroVermelho, PassaroAmarelo |
7 | | -from fase import Fase |
| 11 | +from fase import Fase, Ponto |
| 12 | +import placa_grafica |
8 | 13 |
|
9 | 14 |
|
10 | 15 | class FaseTestes(TestCase): |
@@ -124,8 +129,47 @@ def teste_lancar_passaro_sem_erro_quando_nao_existe_passaro(self): |
124 | 129 | self.assertEqual(3, passaro_amarelo._tempo_de_lancamento) |
125 | 130 |
|
126 | 131 |
|
127 | | - # def teste_calcular_pontos(self): |
128 | | - # fase=Fase() |
129 | | - # self.assertListEqual([],fase.calcular) |
| 132 | + def teste_calcular_pontos(self): |
| 133 | + expected = [Ponto(3, 3, 'D'), Ponto(3, 3, '>'), Ponto(3, 3, '>'), Ponto(31, 10, 'O'), Ponto(78, 1, '@'), |
| 134 | + Ponto(70, 1, '@')] |
| 135 | + self.assertListEqual(expected, fase_exemplo.calcular_pontos(0)) |
| 136 | + |
| 137 | + expected = [Ponto(31, 11, '+'), Ponto(17, 25, '>'), Ponto(3, 3, '>'), Ponto(31, 10, ' '), Ponto(78, 1, '@'), |
| 138 | + Ponto(70, 1, '@')] |
| 139 | + self.assertListEqual(expected, fase_exemplo.calcular_pontos(4)) |
| 140 | + |
| 141 | + expected = [Ponto(31, 11, '+'), Ponto(57, 30, '>'), Ponto(69, 2, '+'), Ponto(31, 10, ' '), Ponto(78, 1, '@'), |
| 142 | + Ponto(70, 1, '+')] |
| 143 | + self.assertListEqual(expected, fase_exemplo.calcular_pontos(7)) |
| 144 | + |
| 145 | + expected = [Ponto(31, 11, '+'), Ponto(77, 2, '+'), Ponto(69, 2, '+'), Ponto(31, 10, ' '), Ponto(78, 1, '+'), |
| 146 | + Ponto(70, 1, '+')] |
| 147 | + self.assertListEqual(expected, fase_exemplo.calcular_pontos(8.5)) |
| 148 | + |
| 149 | + self.assertFalse(fase_exemplo.acabou(8.3)) |
| 150 | + self.assertTrue(fase_exemplo.acabou(8.5)) |
| 151 | + |
| 152 | + |
| 153 | +fase_exemplo = Fase() |
| 154 | +passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)] |
| 155 | +porcos = [Porco(78, 1), Porco(70, 1)] |
| 156 | +obstaculos = [Obstaculo(31, 10)] |
| 157 | + |
| 158 | +fase_exemplo.adicionar_passaro(*passaros) |
| 159 | +fase_exemplo.adicionar_porco(*porcos) |
| 160 | +fase_exemplo.adicionar_obstaculo(*obstaculos) |
| 161 | + |
| 162 | +fase_exemplo.lancar(45, 1) |
| 163 | +fase_exemplo.lancar(63, 3) |
| 164 | +fase_exemplo.lancar(23, 4) |
| 165 | + |
| 166 | +for i in range(86): |
| 167 | + fase_exemplo.calcular_pontos(i / 10) |
| 168 | + |
| 169 | +if __name__ == '__main__': |
| 170 | + placa_grafica.animar(fase_exemplo) |
| 171 | + |
| 172 | + |
| 173 | + |
130 | 174 |
|
131 | 175 |
|
0 commit comments