Ejemplo n.º 1
0
        public void DeveObterListaDeDias()
        {
            _sut = new DiasDeEnvio("11/07/2017", "14/07/2017");

            var listaDeDiasDeEnvio = _sut.GetListaDeEnvio();

            var diasEsperados = new List <string>
            {
                "11/07/2017",
                "12/07/2017",
                "13/07/2017",
                "14/07/2017"
            };

            listaDeDiasDeEnvio.Should().Equal(diasEsperados);
        }
Ejemplo n.º 2
0
        internal ServicerResult <IReadOnlyCollection <ItemDeEnvio> > GerarDatasEnvio(string dataInicio, string datafim)
        {
            try
            {
                var diasDeEnvio         = new DiasDeEnvio(dataInicio, datafim);
                var diasComHorasDeEnvio = new DiasComHorasDeEnvio(diasDeEnvio);

                MemoryPersistence.DiasComHorasDeEnvio = diasComHorasDeEnvio;

                var result = new ServicerResult <IReadOnlyCollection <ItemDeEnvio> >(diasComHorasDeEnvio.ItensDeEnvio);

                return(result);
            }
            catch (ArgumentException e)
            {
                return(new ServicerResult <IReadOnlyCollection <ItemDeEnvio> >(e.Message));
            }
        }
Ejemplo n.º 3
0
        public void NãoDeveIncluirFinalDeSemana()
        {
            _sut = new DiasDeEnvio("03/07/2017", "17/07/2017");

            var listaDeDiasDeEnvio = _sut.GetListaDeEnvio();

            var diasEsperados = new List <string>
            {
                "03/07/2017",
                "04/07/2017",
                "05/07/2017",
                "06/07/2017",
                "07/07/2017",
                "10/07/2017",
                "11/07/2017",
                "12/07/2017",
                "13/07/2017",
                "14/07/2017",
                "17/07/2017"
            };

            listaDeDiasDeEnvio.Should().Equal(diasEsperados);
        }
Ejemplo n.º 4
0
        public void DeveObterListaComHorariosDeEnvio()
        {
            var diasDeEnvio = new DiasDeEnvio("11/07/2017", "14/07/2017");

            _sut = new DiasComHorasDeEnvio(diasDeEnvio);

            var diasComHorasDeEnvio = _sut.ItensDeEnvio.ToList();

            for (var i = 0; i < diasComHorasDeEnvio.Count; i++)
            {
                var itemDeEnvio = diasComHorasDeEnvio[i];

                var datahoraEntrada = DateTime.Parse(itemDeEnvio.Entrada);
                var datahoraSaida   = DateTime.Parse(itemDeEnvio.Saida);

                datahoraEntrada.Day.Should().Be(datahoraSaida.Day);
                datahoraEntrada.Month.Should().Be(datahoraSaida.Month);
                datahoraEntrada.Year.Should().Be(datahoraSaida.Year);

                AssertDataHoraEnvioEntrada(datahoraEntrada);
                AssertDataHoraEnvioSaida(datahoraSaida);
            }
        }
Ejemplo n.º 5
0
        public void DeveValidarSeÉData(string dataInicial, string dataFinal)
        {
            var action = new Action(() => { _sut = new DiasDeEnvio(dataInicial, dataFinal); });

            action.ShouldThrow <ArgumentException>().WithMessage("Datas com formato errado. Formato correto: dd/mm/aaaa ou dd-mm-aaaa!");
        }
Ejemplo n.º 6
0
        public void NãoDeveCriarComDatasDeInicioEFimForaDeOrdem(string dataInicial, string dataFinal)
        {
            var action = new Action(() => { _sut = new DiasDeEnvio(dataInicial, dataFinal); });

            action.ShouldThrow <ArgumentException>().WithMessage("Datas fora de ordem!");
        }