예제 #1
0
        /// <summary>
        /// Método principal do programa, responsável por realizar o processamento do arquivo
        /// </summary>
        /// <param name="processador"></param>
        private static void ProcessarArquivo(ProcessadorArquivo processador)
        {
            ProcessadorValores          conversor          = new ProcessadorValores();
            InterpretadorValores        interpretadorValor = new InterpretadorValores();
            ProcessadorSaida            saida = new ProcessadorSaida();
            Dictionary <string, int>    romanosConvertidos = interpretadorValor.ConverterValoresIniciaisNumeros(processador.valoresIniciaisEntrada);
            Dictionary <int, int[]>     romanosSubtraidos  = interpretadorValor.PreencherRomanosSubtraidos();
            Dictionary <string, double> valoresMetais      = interpretadorValor.DefinirValorMetais(processador.frasesMetal, processador.valoresIniciaisEntrada, romanosConvertidos, romanosSubtraidos);

            saida.ResponderPerguntas(processador.perguntas, romanosConvertidos, valoresMetais, romanosSubtraidos);
        }
예제 #2
0
        public void CalcularRomanosTeste()
        {
            InterpretadorValores interpretador = new InterpretadorValores();
            ProcessadorValores   processador   = new ProcessadorValores();

            List <string> romanos = new List <string>()
            {
                "GLOB", "PROK"
            };
            Dictionary <string, int> romanosConvertidos = interpretador.ConverterValoresIniciaisNumeros(DefinirValoresInicias());
            Dictionary <int, int[]>  romanosSubtraiveis = interpretador.PreencherRomanosSubtraidos();

            double esperado  = 4;
            double resultado = processador.CalcularRomanos(romanos, romanosConvertidos, romanosSubtraiveis);

            Assert.IsNotNull(resultado, "Resultado nao deveria ser nulo");
            Assert.AreEqual(esperado, resultado, "Valores deveriam ser iguais");
        }