def test_lerentrada_modalidade_inexistente_texto_a_mais(self): """ Testa cenário de erro de entrada (usuário digita texto a mais). :return: None """ menu = Menu(MockInput("123deOliveira4")) menu.lerentrada() self.assertEqual(menu.validarmodalidade(), False, "Esperado resultado 'False'")
def test_lerentrada_modalidade_inexistente_espacos(self): """ Testa cenário de erro de entrada (usuário digita espaços). :return: None """ menu = Menu(MockInput("1 ")) menu.lerentrada() self.assertEqual(menu.validarmodalidade(), False, "Esperado resultado 'False'")
def test_lerentrada_modalidade_ginastica_artistica(self): """ Testa cenário do caminho feliz (usuário digita modalidade existente). :return: None """ menu = Menu(MockInput(ID_MODALIDADE_GINASTICAARTISTICA)) menu.lerentrada() self.assertEqual(menu.validarmodalidade(), True, "Esperado resultado 'True'")
def test_lerentrada_modalidade_arremesso_peso(self): """ Testa cenário do caminho feliz (usuário digita modalidade existente). :return: None """ menu = Menu(MockInput(ID_MODALIDADE_ARREMESSOPESO)) menu.lerentrada() self.assertEqual(menu.validarmodalidade(), True, "Esperado resultado 'True'")
def main(): """ Entrada da aplicação. Pergunta pelo tipo de competição, executa e mostra o resultado final. @return: 0 (sucesso) ou 1 (erro) """ inp = Input() menu = Menu(inp) # Valida e recebe a identificação de qual modalidade será executada. while not menu.validarmodalidade(): menu.lerentrada() modalidade = menu.modalidade(inp) # Valida e recebe os resultados de todos os adversários da modalidade. for numadversario in range(modalidade.numeroadversarios()): while not modalidade.validarentrada( modalidade.lerentrada(numadversario+1) ): continue # Processa o resultado (vencedor). modalidade.iniciar() print("Vencedor: {}".format(modalidade.vencedor()))
def test_menu_instancia_dinamica_arremesso_peso(self): """ Testa cenário do caminho feliz (valida o retorno de uma instância da classe ArremessoPeso). :return: None """ _input = MockInput(ID_MODALIDADE_ARREMESSOPESO) menu = Menu(_input) menu.lerentrada() menu.validarmodalidade() self.assertEqual( str(menu.modalidade(_input).__class__), "<class 'ooppython3.modalidadearremessopeso.Arremess" "oPeso'>", "Esperada classe <class 'ooppython3.modalidadearreme" "ssopeso.ArremessoPeso'>")
def test_menu_instancia_dinamica_ginastica_artistica(self): """ Testa cenário do caminho feliz (valida o retorno de uma instância da classe GinasticaArtistica). :return: None """ _input = MockInput(ID_MODALIDADE_GINASTICAARTISTICA) menu = Menu(_input) menu.lerentrada() menu.validarmodalidade() self.assertEqual( str(menu.modalidade(_input).__class__), "<class 'ooppython3.modalidadeginasticaartistica.Gin" "asticaArtistica'>", "Esperada classe <class 'ooppython3.modalidadeginast" "icaartistica.GinasticaArtistica'>")