示例#1
0
        public void DeveRetornarRotaDireta()
        {
            List <Trecho>          trechos            = GerarListaDeTrechos();
            Tuple <string, string> encomendaformatada = GerarEncomendaFormatada(trechos);

            string result = _buscarMelhorRota.Buscar(encomendaformatada.Item1, trechos);

            Assert.Equal(encomendaformatada.Item2, result);
        }
        public List <string> Calcular(List <string> encomendas, List <string> trechosCadastrados)
        {
            List <string> rotasCalculadas = new List <string>();

            if (encomendas == null || !encomendas.Any() ||
                trechosCadastrados == null || !trechosCadastrados.Any())
            {
                return(null);
            }

            List <Trecho> trechos = _converterTrecho.Converter(trechosCadastrados);

            foreach (string encomenda in encomendas)
            {
                string encomendaFormatada = _validadorFormatacaoEncomenda.Validar(encomenda);

                rotasCalculadas.Add(_buscarMelhorRota.Buscar(encomendaFormatada, trechos));
            }

            return(rotasCalculadas);
        }