From 032b22a41d606950759be3198303b8cf6f27616d Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Thu, 19 May 2022 21:17:24 -0300 Subject: [PATCH 01/16] criado a classe pessoa --- oo/__init__.py | 0 oo/pessoa.py | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 oo/__init__.py create mode 100644 oo/pessoa.py diff --git a/oo/__init__.py b/oo/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/oo/pessoa.py b/oo/pessoa.py new file mode 100644 index 000000000..eb7c0a9c1 --- /dev/null +++ b/oo/pessoa.py @@ -0,0 +1,2 @@ +class Pessoa: + pass From 835238d167a862000690e6cf645dc384cc384249 Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Thu, 19 May 2022 23:47:16 -0300 Subject: [PATCH 02/16] criado o metodo cumprimentar da classe pessoa --- oo/pessoa.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index eb7c0a9c1..ffbbbe676 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -1,2 +1,14 @@ + + + class Pessoa: - pass + def cumprimentar(self): + return f'olá {id(self)}' + +if __name__ == '__main__': + p = Pessoa() + + print(Pessoa.cumprimentar(p)) + print(dir(p)) + print(p.cumprimentar()) + From 629e5ee74b33cc0297779188ef160f20cd067c41 Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Fri, 20 May 2022 00:15:20 -0300 Subject: [PATCH 03/16] =?UTF-8?q?cria=C3=A7=C3=A3o=20do=20metodo=20inicial?= =?UTF-8?q?=20nome?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index ffbbbe676..16fad648e 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -2,13 +2,19 @@ class Pessoa: + + def __init__(self, nome = None): + self.nome = nome + def cumprimentar(self): return f'olá {id(self)}' if __name__ == '__main__': - p = Pessoa() - + p = Pessoa('Angelina') print(Pessoa.cumprimentar(p)) print(dir(p)) print(p.cumprimentar()) + print(p.nome) + p.nome = 'Telmo' + print(p.nome) From 1a6f0b091c3e9f7c12ed755e7600b2c8efeb10ab Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Fri, 20 May 2022 00:34:26 -0300 Subject: [PATCH 04/16] criado o atributo nome da classe Pessoa --- oo/pessoa.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 16fad648e..2a6a1352c 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -15,6 +15,6 @@ def cumprimentar(self): print(dir(p)) print(p.cumprimentar()) print(p.nome) - p.nome = 'Telmo' + p.nome = 'Sophia' print(p.nome) From 2e3c3ee459845f2ad427ecb72a57016f7b58cd38 Mon Sep 17 00:00:00 2001 From: TelmoCode Date: Fri, 20 May 2022 09:01:19 -0300 Subject: [PATCH 05/16] =?UTF-8?q?nova=20altera=C3=A7=C3=A3o=20dos=20nomes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/pessoa.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 2a6a1352c..02c684395 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -10,7 +10,7 @@ def cumprimentar(self): return f'olá {id(self)}' if __name__ == '__main__': - p = Pessoa('Angelina') + p = Pessoa('Clara') print(Pessoa.cumprimentar(p)) print(dir(p)) print(p.cumprimentar()) From 6493cee430191ab3978e7829539cc5d7a936f51a Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Sat, 21 May 2022 19:55:31 -0300 Subject: [PATCH 06/16] criado atributo complexo filhos --- oo/pessoa.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 2a6a1352c..dc567e16e 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -3,18 +3,23 @@ class Pessoa: - def __init__(self, nome = None): + def __init__(self, *filhos, nome = None, idade=42): self.nome = nome + self.idade = idade + self.filhos = list(filhos) def cumprimentar(self): return f'olá {id(self)}' if __name__ == '__main__': - p = Pessoa('Angelina') - print(Pessoa.cumprimentar(p)) - print(dir(p)) - print(p.cumprimentar()) - print(p.nome) - p.nome = 'Sophia' - print(p.nome) + sophia = Pessoa(nome='Sophia') + angelina = Pessoa(sophia, nome='Angelina') + print(Pessoa.cumprimentar(angelina)) + print(id(angelina)) + print(angelina.cumprimentar()) + print(angelina.nome) + print(angelina.idade) + for filho in angelina.filhos: + print(filho) + From e54b97465f7912203322c4172b7e360296c90b7b Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Sat, 21 May 2022 20:09:32 -0300 Subject: [PATCH 07/16] criado atribudo composto filhos --- oo/pessoa.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index dc567e16e..72c4fd6da 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -19,7 +19,7 @@ def cumprimentar(self): print(angelina.cumprimentar()) print(angelina.nome) print(angelina.idade) - for filho in angelina.filhos: - print(filho) + for filha in angelina.filhos: + print(filha) From 84e8ba9b081e4004652e4f871c009c28fb2a26ef Mon Sep 17 00:00:00 2001 From: Telmo Goncalves Date: Sat, 21 May 2022 21:11:29 -0300 Subject: [PATCH 08/16] criado e removido atributo dinamico de objeto tipo pessoa --- oo/pessoa.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/oo/pessoa.py b/oo/pessoa.py index 72c4fd6da..bd75a58e1 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -19,7 +19,13 @@ def cumprimentar(self): print(angelina.cumprimentar()) print(angelina.nome) print(angelina.idade) - for filha in angelina.filhos: - print(filha) + for filho in angelina.filhos: + print(filho.nome) + angelina.sobrenome = 'Ferreira' + print(angelina.__dict__) + print(sophia.__dict__) + del angelina.filhos + print(angelina.__dict__) + print(sophia.__dict__) From d20c180c636dabc4e8a1c05b7bcd24f57389992d Mon Sep 17 00:00:00 2001 From: Telmo Code <37788818+TelmoCode@users.noreply.github.com> Date: Wed, 15 Jun 2022 08:21:37 -0300 Subject: [PATCH 09/16] Implementado metodos e atributos de classes --- oo/pessoa.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/oo/pessoa.py b/oo/pessoa.py index bd75a58e1..6d82b41f4 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -2,6 +2,7 @@ class Pessoa: + olhos = 2 def __init__(self, *filhos, nome = None, idade=42): self.nome = nome @@ -11,6 +12,14 @@ def __init__(self, *filhos, nome = None, idade=42): def cumprimentar(self): return f'olá {id(self)}' + @staticmethod + def metodo_estatico(): + return 43 + + @classmethod + def nome_e_atributo_de_classe(cls): + return f'{cls} - olhos {cls.olhos} ' + if __name__ == '__main__': sophia = Pessoa(nome='Sophia') angelina = Pessoa(sophia, nome='Angelina') @@ -22,10 +31,19 @@ def cumprimentar(self): for filho in angelina.filhos: print(filho.nome) angelina.sobrenome = 'Ferreira' + angelina.olhos = 1 print(angelina.__dict__) print(sophia.__dict__) del angelina.filhos print(angelina.__dict__) print(sophia.__dict__) + print(Pessoa.olhos) + print(angelina.olhos) + print(sophia.olhos) + print(id(Pessoa.olhos), id(angelina.olhos), id(sophia.olhos)) + print(Pessoa.metodo_estatico(), angelina.metodo_estatico()) + print(Pessoa.nome_e_atributo_de_classe(), angelina.nome_e_atributo_de_classe()) + + From 8e34cf9f2fab23d271493068f2a06e4c2e2bbeb9 Mon Sep 17 00:00:00 2001 From: Telmo Code <37788818+TelmoCode@users.noreply.github.com> Date: Tue, 28 Jun 2022 21:46:10 -0300 Subject: [PATCH 10/16] =?UTF-8?q?Criado=20docstring=20com=20a=20composi?= =?UTF-8?q?=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oo/carro.py | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 oo/carro.py diff --git a/oo/carro.py b/oo/carro.py new file mode 100644 index 000000000..e243f6325 --- /dev/null +++ b/oo/carro.py @@ -0,0 +1,98 @@ +""" +Vodê deve cria uma classe que vai possuir +dois atributos compostos por outras duas classes: + +1) Motor +2) Direção + +O motor terá a responsabilidade de controlar a velocidade +ele oferece os seguintes atributos: +1) Atibuto de dado Velocidade +2) Metodo Acelerar, que deverá incrementar a velocidade em uma unidades. +3) Metodos frear, que deverá decrementar a velocidade em duas unidades. + +a Direção terá a responsabilidade de +controlar a direção. ela oferece a os seguintes atributos: +1) valor de direção com valores possiveis: Norte, Sul, Leste, Oeste +2) Metodo Vira_a_direita +3) Metodo Vira_a_esquerda + N +O L + S + + Exemplo + >>> motor = motor() + >>> motor.velocidade() + 0 + >>> motor.acelerar() + >>> motor.velocidade() + 1 + >>> motor.acelerar() + >>> motor.velocidade() + 2 + >>> motor.acelerar() + >>> motor.velocidade() + 3 + >>> motor.frear() + >>> motor.velocidade() + 1 + >>> motor.frear() + >>> motor.velocidade() + 0 + >>># testando direção + + >>>direcao = direcao() + >>>direcao.valor() + 'Norte' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Leste' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Sul' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Oeste' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Norte' + >>>direcao.virar_a_esquerda() + >>>direcao.valor() + 'Oeste' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Sul' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Leste' + >>>direcao.virar_a_direita() + >>>direcao.valor() + 'Norte' + >>> carro = Carro(direcao, motor) + >>> carro.calcular_velocidade() + 0 + >>> carro.acelerar() + >>> carro.calcular_velocidade() + 1 + >>> carro.acelerar() + >>> carro.calcular_velocidade() + 2 + >>> carro.acelerar() + >>> carro.calcular_velocidade() + 3 + >>> carro.frerar() + >>> carro.calcular_velocidade() + 1 + >>> carro.frerar() + >>> carro.calcular_velocidade() + 0 + >>> carro.calcular_direcao() + 'Norte' + >>> carro.virar_a_direita() + >>> carro.calcular_direcao() + 'Leste' + >>> carro.virar_a_esquerda() + >>> carro.calcular_direcao() + 'Norte' + +""" \ No newline at end of file From d4833652c5d5d928fc2b599e6a4163e206beab0b Mon Sep 17 00:00:00 2001 From: Telmo Code <37788818+TelmoCode@users.noreply.github.com> Date: Sat, 2 Jul 2022 15:34:20 -0300 Subject: [PATCH 11/16] Criado das classes carro direcao e motor --- oo/carro.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/oo/carro.py b/oo/carro.py index e243f6325..f2e3caa4c 100644 --- a/oo/carro.py +++ b/oo/carro.py @@ -1,3 +1,6 @@ + + + """ Vodê deve cria uma classe que vai possuir dois atributos compostos por outras duas classes: @@ -21,7 +24,8 @@ S Exemplo - >>> motor = motor() + >>># testado o motor + >>> motor = Motor() >>> motor.velocidade() 0 >>> motor.acelerar() @@ -41,7 +45,7 @@ 0 >>># testando direção - >>>direcao = direcao() + >>>direcao = Direcao() >>>direcao.valor() 'Norte' >>>direcao.virar_a_direita() @@ -94,5 +98,13 @@ >>> carro.virar_a_esquerda() >>> carro.calcular_direcao() 'Norte' +""" + +class Carro: + pass + +class Motor: + pass -""" \ No newline at end of file +class Direcao: + pass \ No newline at end of file From 80a23de00c5873761761150147cbb69acf5ae05a Mon Sep 17 00:00:00 2001 From: TelmoCode Date: Fri, 29 Jul 2022 22:55:31 -0300 Subject: [PATCH 12/16] novas classes --- oo/carro.py | 68 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/oo/carro.py b/oo/carro.py index f2e3caa4c..50bf22177 100644 --- a/oo/carro.py +++ b/oo/carro.py @@ -1,6 +1,4 @@ - - """ Vodê deve cria uma classe que vai possuir dois atributos compostos por outras duas classes: @@ -24,53 +22,53 @@ S Exemplo - >>># testado o motor + >>> # testado o motor >>> motor = Motor() - >>> motor.velocidade() + >>> motor.velocidade 0 >>> motor.acelerar() - >>> motor.velocidade() + >>> motor.velocidade 1 >>> motor.acelerar() - >>> motor.velocidade() + >>> motor.velocidade 2 >>> motor.acelerar() - >>> motor.velocidade() + >>> motor.velocidade 3 >>> motor.frear() - >>> motor.velocidade() + >>> motor.velocidade 1 >>> motor.frear() - >>> motor.velocidade() + >>> motor.velocidade 0 - >>># testando direção + >>> # testando direção - >>>direcao = Direcao() - >>>direcao.valor() + >>> direcao = Direcao() + >>> direcao.valor 'Norte' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Leste' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Sul' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Oeste' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Norte' - >>>direcao.virar_a_esquerda() - >>>direcao.valor() + >>> direcao.virar_a_esquerda() + >>> direcao.valor 'Oeste' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Sul' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Leste' - >>>direcao.virar_a_direita() - >>>direcao.valor() + >>> direcao.virar_a_direita() + >>> direcao.valor 'Norte' >>> carro = Carro(direcao, motor) >>> carro.calcular_velocidade() @@ -101,10 +99,20 @@ """ class Carro: - pass + def calcular_velocidade(self): + pass class Motor: + def __init__(self): + self.velocidade = 0 + + def acelerar(self): + self.velocidade += 1 + + def frear(self): + self.velocidade -= 2 + pass class Direcao: - pass \ No newline at end of file + pass From 547599dd4092d2e339329afbb8b2d761ffcff21a Mon Sep 17 00:00:00 2001 From: TelmoCode Date: Tue, 2 Aug 2022 17:34:04 -0300 Subject: [PATCH 13/16] implementado a classe motor e atributo velocidade --- oo/carro.py | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/oo/carro.py b/oo/carro.py index 50bf22177..47848e41a 100644 --- a/oo/carro.py +++ b/oo/carro.py @@ -1,4 +1,5 @@ + """ Vodê deve cria uma classe que vai possuir dois atributos compostos por outras duas classes: @@ -98,21 +99,7 @@ 'Norte' """ -class Carro: - def calcular_velocidade(self): - pass class Motor: def __init__(self): self.velocidade = 0 - - def acelerar(self): - self.velocidade += 1 - - def frear(self): - self.velocidade -= 2 - - pass - -class Direcao: - pass From e85892e13ad23a34509ee19f61cc0c82e64203b2 Mon Sep 17 00:00:00 2001 From: TelmoCode Date: Wed, 3 Aug 2022 16:17:25 -0300 Subject: [PATCH 14/16] implementado a classe Direcao e o atributo valor, metodos virar_a_direita e virar_a_esquerda --- oo/carro.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/oo/carro.py b/oo/carro.py index 47848e41a..f0e77b1a8 100644 --- a/oo/carro.py +++ b/oo/carro.py @@ -98,8 +98,49 @@ >>> carro.calcular_direcao() 'Norte' """ +NORTE = 'Norte' +SUL = 'Sul' +LESTE = 'Leste' +OESTE = 'OESTE' +class Direcao: + def __init__(self): + self.valor = NORTE + + def virar_a_direita(self): + if self.valor == NORTE: + self.valor = LESTE + elif self.valor == LESTE: + self.valor = SUL + elif self.valor == SUL: + self.valor = OESTE + elif self.valor == OESTE: + self.valor = NORTE + + + + def virar_a_esquerda(self): + + if self.valor == NORTE: + self.valor = OESTE + elif self.valor == OESTE: + self.valor = SUL + elif self.valor == SUL: + self.valor = LESTE + elif self.valor == LESTE: + self.valor = NORTE + + + + 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) \ No newline at end of file From 78032e2938d2cfc8b5db2cf6f88be81c298c427c Mon Sep 17 00:00:00 2001 From: TelmoCode Date: Wed, 3 Aug 2022 22:10:55 -0300 Subject: [PATCH 15/16] concluido doctests --- oo/carro.py | 74 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/oo/carro.py b/oo/carro.py index f0e77b1a8..ca6b0985f 100644 --- a/oo/carro.py +++ b/oo/carro.py @@ -64,13 +64,13 @@ 'Oeste' >>> direcao.virar_a_direita() >>> direcao.valor - 'Sul' + 'Norte' >>> direcao.virar_a_direita() >>> direcao.valor 'Leste' >>> direcao.virar_a_direita() >>> direcao.valor - 'Norte' + 'Sul' >>> carro = Carro(direcao, motor) >>> carro.calcular_velocidade() 0 @@ -83,55 +83,67 @@ >>> carro.acelerar() >>> carro.calcular_velocidade() 3 - >>> carro.frerar() + >>> carro.frear() >>> carro.calcular_velocidade() 1 - >>> carro.frerar() + >>> carro.frear() >>> carro.calcular_velocidade() 0 >>> carro.calcular_direcao() - 'Norte' + 'Sul' >>> carro.virar_a_direita() >>> carro.calcular_direcao() - 'Leste' + 'Oeste' >>> carro.virar_a_esquerda() >>> carro.calcular_direcao() - 'Norte' + 'Sul' """ -NORTE = 'Norte' -SUL = 'Sul' -LESTE = 'Leste' -OESTE = 'OESTE' -class Direcao: - def __init__(self): - self.valor = NORTE - def virar_a_direita(self): - if self.valor == NORTE: - self.valor = LESTE - elif self.valor == LESTE: - self.valor = SUL - elif self.valor == SUL: - self.valor = OESTE - elif self.valor == OESTE: - self.valor = NORTE +class Carro: + def __init__(self, direcao, motor): + self.motor = motor + self.direcao = direcao + + def calcular_velocidade(self): + return self.motor.velocidade + + def acelerar(self): + self.motor.acelerar() + def frear(self): + self.motor.frear() + + def calcular_direcao(self): + return self.direcao.valor + def virar_a_direita(self): + self.direcao.virar_a_direita() def virar_a_esquerda(self): + self.direcao.virar_a_esquerda() + - if self.valor == NORTE: - self.valor = OESTE - elif self.valor == OESTE: - self.valor = SUL - elif self.valor == SUL: - self.valor = LESTE - elif self.valor == LESTE: - self.valor = NORTE +NORTE = 'Norte' +SUL = 'Sul' +LESTE = 'Leste' +OESTE = 'Oeste' +class Direcao: + rotacao_a_direita_dct = { + NORTE: LESTE, LESTE: SUL, SUL: OESTE, OESTE: NORTE + } + rotacao_a_esquerda_dct = { + NORTE: OESTE, OESTE: SUL, SUL: LESTE, LESTE: NORTE + } + def __init__(self): + self.valor = NORTE + def virar_a_direita(self): + self.valor = self.rotacao_a_direita_dct[self.valor] + def virar_a_esquerda(self): + self.valor = self.rotacao_a_esquerda_dct[self.valor] class Motor: From 4843732c5bb09691d9a0e89c55306eceaed8f905 Mon Sep 17 00:00:00 2001 From: TelmoCode Date: Sun, 7 Aug 2022 17:25:07 -0300 Subject: [PATCH 16/16] =?UTF-8?q?implementado=20heran=C3=A7a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- atores.py | 4 ++-- fase.py | 6 +++--- oo/pessoa.py | 10 +++++++++- oo/test_carro.py | 15 +++++++++++++++ testes/{integracao.py => teste_integracao.py} | 0 testes/{atores_testes.py => testes_atores.py} | 0 testes/{fase_testes.py => testes_fase.py} | 0 7 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 oo/test_carro.py rename testes/{integracao.py => teste_integracao.py} (100%) rename testes/{atores_testes.py => testes_atores.py} (100%) rename testes/{fase_testes.py => testes_fase.py} (100%) diff --git a/atores.py b/atores.py index cfc2ef5ea..fec662f67 100644 --- a/atores.py +++ b/atores.py @@ -57,11 +57,11 @@ def colidir(self, outro_ator, intervalo=1): class Obstaculo(Ator): - pass + _caracter_ativo = 'O' class Porco(Ator): - pass + _caracter_ativo = 'P' class DuploLancamentoExcecao(Exception): diff --git a/fase.py b/fase.py index 3385175c6..1c8fd161f 100644 --- a/fase.py +++ b/fase.py @@ -43,7 +43,7 @@ def adicionar_obstaculo(self, *obstaculos): :param obstaculos: """ - pass + self._obstaculos.extend(obstaculos) def adicionar_porco(self, *porcos): """ @@ -51,7 +51,7 @@ def adicionar_porco(self, *porcos): :param porcos: """ - pass + self._porcos.extend(porcos) def adicionar_passaro(self, *passaros): """ @@ -59,7 +59,7 @@ def adicionar_passaro(self, *passaros): :param passaros: """ - pass + self._passaros.extend(passaros) def status(self): """ diff --git a/oo/pessoa.py b/oo/pessoa.py index 6d82b41f4..35a66b901 100644 --- a/oo/pessoa.py +++ b/oo/pessoa.py @@ -20,8 +20,11 @@ def metodo_estatico(): def nome_e_atributo_de_classe(cls): return f'{cls} - olhos {cls.olhos} ' +class Menina(Pessoa): + pass + if __name__ == '__main__': - sophia = Pessoa(nome='Sophia') + sophia = Menina(nome='Sophia') angelina = Pessoa(sophia, nome='Angelina') print(Pessoa.cumprimentar(angelina)) print(id(angelina)) @@ -43,6 +46,11 @@ def nome_e_atributo_de_classe(cls): print(id(Pessoa.olhos), id(angelina.olhos), id(sophia.olhos)) print(Pessoa.metodo_estatico(), angelina.metodo_estatico()) print(Pessoa.nome_e_atributo_de_classe(), angelina.nome_e_atributo_de_classe()) + pessoa = Pessoa("anonimo") + print(isinstance(pessoa, Pessoa)) + print(isinstance(pessoa, Menina)) + print(isinstance(sophia, Pessoa)) + print(isinstance(sophia, Menina)) diff --git a/oo/test_carro.py b/oo/test_carro.py new file mode 100644 index 000000000..d6345f2d1 --- /dev/null +++ b/oo/test_carro.py @@ -0,0 +1,15 @@ +from unittest import TestCase + +from oo.carro import Motor + + +class CarroTesteCase(TestCase): + + def test_velocidade_inicial(self): + motor = Motor() + self.assertEqual(0, motor.velocidade) + + def test_acelerar(self): + motor = Motor() + motor.acelerar() + self.assertEqual(1, motor.velocidade) diff --git a/testes/integracao.py b/testes/teste_integracao.py similarity index 100% rename from testes/integracao.py rename to testes/teste_integracao.py 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