private static string ObterDescricaoConversao(ConversorMedidasDeComprimentoEntrada entradaConvertida) { string nomeDe = Enum.GetName(typeof(TipoMedida), entradaConvertida.De); string nomePara = Enum.GetName(typeof(TipoMedida), entradaConvertida.Para); string descricao = $"A fórmula para converter {nomeDe} para {nomePara} e apenas multiplicar {nomeDe} por 10 elevado a potência {entradaConvertida.De - entradaConvertida.Para}"; return(descricao); }
public IElementoConvertido Converter(IElementoEntradaConversao entradaConversao) { ConversorMedidasDeComprimentoEntrada entradaConvertida = ValidarEObterEntrada(entradaConversao); string descricao = ObterDescricaoConversao(entradaConvertida); var valor = entradaConvertida.Valor * Math.Pow(10, entradaConvertida.De - entradaConvertida.Para); return(new ConversorMedidasDeComprimentoSaida(valor, descricao)); }
public void ConverterMedidaNaoImplementada(TipoMedida de, TipoMedida para, double valor) { IConversor conversor = FabricaDeConversor.ObterConversor(Conversores.MedidasDeComprimento); var entradaConversao = new ConversorMedidasDeComprimentoEntrada() { De = de, Para = para, Valor = valor }; Assert.Throws <ArgumentException>(() => conversor.Converter(entradaConversao)); }
public void ConverterMedida(TipoMedida de, TipoMedida para, double valor) { IConversor conversor = FabricaDeConversor.ObterConversor(Conversores.MedidasDeComprimento); var entradaConversao = new ConversorMedidasDeComprimentoEntrada() { De = de, Para = para, Valor = valor }; var saidaConversao = (ConversorMedidasDeComprimentoSaida)conversor.Converter(entradaConversao); Assert.True(saidaConversao.Valor == 1); }
public static void Main() { LerDados(out string opcaoEntrada, out string valorEntrada, out string opcaoSaida); ConversorMedidasDeComprimentoEntrada entradaConversao = Leitor.ObterEntradaConversaoMedida(opcaoEntrada, valorEntrada, opcaoSaida); IConversor conversor = FabricaDeConversor.ObterConversor(Conversores.MedidasDeComprimento); var saidaConversao = (ConversorMedidasDeComprimentoSaida)conversor.Converter(entradaConversao); Console.WriteLine($"Formula medida: {saidaConversao.ObterFormulaMedida()}"); Console.WriteLine($"Valor destino: {saidaConversao.Valor}"); Console.WriteLine("Pressione qualquer tecla..."); Console.ReadKey(); }