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_type e star.
  • Lança um TypeError com a mensagem name, planet type, and star must be strings se algum dos argumentos passados nĂŁo for do tipo string.
  • Levanta um ValueError com a mensagem name, planet_type, and star must be non-empty strings se algum dos argumentos passados for uma string vazia.
  • Atribui os valores passados aos atributos da instĂąncia name, planet_type e star.
1. A classe 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