コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #5
0
        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();
        }