diff --git a/oo/__init__.py b/oo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/oo/carro.py b/oo/carro.py new file mode 100644 index 000000000..dafded51a --- /dev/null +++ b/oo/carro.py @@ -0,0 +1,47 @@ +class Carro: + def __init__(self, direcao, motor): + self.motor = motor + self.direcao = direcao + def calcular_velocidade(self): + return self.motor.velocidade + def acelerar(self): + return self.motor.acelerar() + def frear(self): + return self.motor.frear() + def girar_a_direita(self): + self.direcao.girar_a_direita() + def girar_a_es(self): + self.direcao.girar_a_es() + +NORTE = 'Norte' +LESTE = 'Leste' +SUL = 'Sul' +OESTE = 'Oeste' + +class Direcao: + rotacao_a_direita_dct = { + NORTE : LESTE, LESTE : SUL, SUL : OESTE, OESTE : NORTE + } + rotacao_a_esquerda_dct = { + NORTE : OESTE, LESTE : NORTE, SUL : OESTE, OESTE : NORTE + } + def __init__(self): + self.valor = NORTE + + def girar_a_direita(self): + self.valor = self.rotacao_a_direita_dct[self.valor] + + def girar_a_es(self): + self.valor = self.rotacao_a_esquerda_dct[self.valor] + +class Motor: + def __init__(self): + self.velocidade = 0 + + def acelerar(self): + self.velocidade += 1 + + def frear(self): + self.velocidade -= 2 + self.velocidade = max(0, self.velocidade) + diff --git a/oo/pessoa.py b/oo/pessoa.py new file mode 100644 index 000000000..d444cd2cd --- /dev/null +++ b/oo/pessoa.py @@ -0,0 +1,22 @@ +class Pessoa: + def __init__(self, *filhos, nome=None, idade=25): + self.idade = idade + self.nome = nome + self.filhos = list(filhos) + def cumprimentar(self): + return f'Olá {id(self)}' + +if __name__ == '__main__': + renzo = Pessoa(nome='Renzo') + luciano = Pessoa(renzo, nome='Luciano') + print(Pessoa.cumprimentar(luciano)) + print(id(luciano)) + print(luciano.cumprimentar()) + print(luciano.nome) + print(luciano.idade) + for filho in luciano.filhos: + print(filho.nome) + luciano.sobrenome = 'Ramalho' + del luciano.filhos + print(renzo.__dict__) + print(luciano.__dict__) \ No newline at end of file diff --git a/oo/teste_carro.py b/oo/teste_carro.py new file mode 100644 index 000000000..f7640bd9d --- /dev/null +++ b/oo/teste_carro.py @@ -0,0 +1,7 @@ +from unittest import TestCase +from oo.carro import Motor + +class CarroTesteCase(TestCase): + def teste_velocidade_inicial(self): + motor=Motor() + self.assertEqual(0, motor.velocidade) \ No newline at end of file diff --git a/testes/atores_testes.py b/testes/testes_atores.py similarity index 100% rename from testes/atores_testes.py rename to testes/testes_atores.py diff --git a/testes/fase_testes.py b/testes/testes_fase.py similarity index 100% rename from testes/fase_testes.py rename to testes/testes_fase.py diff --git a/testes/integracao.py b/testes/testes_integracao.py similarity index 100% rename from testes/integracao.py rename to testes/testes_integracao.py