InstruçÔes
Criar uma Classe Planet
Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratĂłrio.
HistĂłrias de UsuĂĄrio:
1. VocĂȘ deve criar uma classe chamada
Planet.
1. A classe Planet deve ter um método __init__ que:
- Possui quatro parĂąmetros:
self,name,planet_typeestar. - Lança um
TypeErrorcom a mensagemname, planet type, and star must be stringsse algum dos argumentos passados nĂŁo for do tipo string. - Levanta um
ValueErrorcom a mensagemname, planet_type, and star must be non-empty stringsse algum dos argumentos passados for uma string vazia. - Atribui os valores passados aos atributos da instĂąncia
name,planet_typeestar.
Planet deve ter um método orbit que retorna uma string no formato {name} is orbiting around {star}....
1. A classe Planet deve ter um método __str__ que retorne uma string no formato Planet: {name} | Type: {planet_type} | Star: {star}.
1. VocĂȘ deve criar trĂȘs instĂąncias da classe Planet chamadas planet_1, planet_2 e planet_3.
1. VocĂȘ deve imprimir cada objeto planet para ver a saĂda do mĂ©todo __str__.
1. VocĂȘ deve chamar o mĂ©todo orbit em cada objeto planeta e imprimir o resultado.
O que fazer:
Testes:
- VocĂȘ deve criar uma classe chamada `Planet`.
- A classe `Planet` deve ter um método `__init__`.
- O método `__init__` deve ter quatro parùmetros: `self`, `name`, `planet_type` e `star`, nesta ordem.
- O método `__init__` deve lançar um `TypeError` com a mensagem `name, planet type, and star must be strings` se o primeiro argumento passado não for do tipo string.
- O método `__init__` deve lançar um `TypeError` com a mensagem `name, planet type, and star must be strings` se o segundo argumento passado não for do tipo string.
- O método `__init__` deve lançar um `TypeError` com a mensagem `name, planet type, and star must be strings` se o terceiro argumento passado não for do tipo string.
- O método `__init__` deve lançar um `ValueError` com a mensagem `name, planet_type, and star must be non-empty strings` se o primeiro argumento passado for uma string vazia.
- O método `__init__` deve lançar um `ValueError` com a mensagem `name, planet_type, and star must be non-empty strings` se o segundo argumento passado for uma string vazia.
- O método `__init__` deve lançar um `ValueError` com a mensagem `name, planet_type, and star must be non-empty strings` se o terceiro argumento passado for uma string vazia.
- VocĂȘ deve atribuir `name` a `self.name` no mĂ©todo `__init__`.
- VocĂȘ deve atribuir `planet_type` a `self.planet_type` no mĂ©todo `__init__`.
- VocĂȘ deve atribuir `star` a `self.star` no mĂ©todo `__init__`.
- A classe `Planet` deve ter um método `orbit`.
- O método `orbit` deve retornar uma string no formato `{name} is orbiting around {star}...`.
- A classe `Planet` deve ter um método `__str__`.
- O método `__str__` deve retornar uma string no formato `Planet: {name} | Type: {planet_type} | Star: {star}`.
- VocĂȘ deve criar trĂȘs instĂąncias da classe `Planet` chamadas `planet_1`, `planet_2` e `planet_3`.
- VocĂȘ deve imprimir cada objeto planet para ver a saĂda do mĂ©todo `__str__`.
- VocĂȘ deve chamar o mĂ©todo `orbit` em cada objeto planeta e imprimir o resultado.
Preview