Bom dia,
Estou fazendo um exercício que pede:
Faça um Programa que verifique se uma letra digitada é "F", "M" ou "L" conforme a letra escrever: F - Feminino, M - Masculino, L - LGBT ou Opção Inválida.
Dai tranquilo fiz o programa está ai abaixo, minha duvida ficou na hora de fazer o teste quando o usuário digita uma opção invalida no caso uma exceção, fiz o tratamento da exceção direitinho mas não consigo pensar num teste quando o usuário digita uma opção invalida, desde já agradeço pela ajuda.
#Arquivo FemininoMaculinoLgbt.py
from FemininoMaculinoLgbtExececoes import OpcaoInvalida
class FemininoMaculinoLgbt:
def __init__(self, sexo):
self.__sexo = sexo
self.__sexo = self.__sexo.upper()
def verifica_sexo(self):
if self.__sexo == "F":
return "Feminino"
if self.__sexo == "M":
return "Masculino"
if self.__sexo == "L":
return "LGBT"
else:
raise OpcaoInvalida("Opção Invalida")
#Arquivo FemininoMasculinoLgbtMain.py
from FemininoMasculinoLgbt import FemininoMaculinoLgbt
try:
sexo = input("Digite 'F' para Feminino 'M' para Masculino e 'L' para LGBT: ")
objeto_feminino_masculino_lgbt = FemininoMaculinoLgbt(sexo)
opcao_escolhida = objeto_feminino_masculino_lgbt.verifica_sexo()
print(f"O opção escolhida foi {opcao_escolhida}")
except Exception as error:
print(error)
#Arquivo TestFemininoMasculinoLgbt.py
from unittest import TestCase
from FemininoMasculinoLgbt import FemininoMaculinoLgbt
from FemininoMaculinoLgbtExececoes import OpcaoInvalida
class TestFemininoMaculinoLgbt(TestCase):
def test_deve_passar_quando_escolha_feminino(self):
feminino = "f"
resultado_esperado = "Feminino"
objeto_feminino_masculino_lgbt = FemininoMaculinoLgbt(feminino)
opcao_escolhida = objeto_feminino_masculino_lgbt.verifica_sexo()
assert opcao_escolhida == resultado_esperado
def test_deve_passa_quando_escolha_masculino(self):
masculino = "m"
resultado_esperado = "Masculino"
objeto_feminino_masculino_lgbt = FemininoMaculinoLgbt(masculino)
opcao_escolhida = objeto_feminino_masculino_lgbt.verifica_sexo()
assert opcao_escolhida == resultado_esperado
def test_deve_passa_quando_escolha_lgbt(self):
lgbt = "l"
resultado_esperado = "LGBT"
objeto_feminino_masculino_lgbt = FemininoMaculinoLgbt(lgbt)
opcao_escolhida = objeto_feminino_masculino_lgbt.verifica_sexo()
assert opcao_escolhida == resultado_esperado
def test_deve_passa_quando_opcao_invalida(self):
pass
#Arquivo FemininoMasculinoLgbtExcecoes.py
class OpcaoInvalida(Exception):
pass