public void ValidarHorarioNetworking()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();

            List <Trilha> trilhas = conferenciaBusiness.GerarTrilhas(new[]
            {
                "Writing Fast Tests Against Enterprise Rails  60min",
                "Overdoing it in Python  45min",
                "Lua for the Masses  30min",
                "Ruby Errors from Mismatched Gem Versions  45min",
                "Common Ruby Errors  45min",
                "Rails for Python Developers lightning",
                "Communicating Over Distance  60min",
                "Accounting - Driven Development  45min",
                "Woah  30min",
                "Sit Down and Write  30min"
            }
                                                                     .ToList());

            ImpressaoBusiness impressaoBusiness = new ImpressaoBusiness();
            List <string>     impressaoTrilhas  = impressaoBusiness.GerarImpressaoTrilhas(trilhas);

            string   networkingEvent   = impressaoTrilhas.FirstOrDefault(i => i.Contains("Evento de Networking"));
            TimeSpan horarioNetworking = TimeSpan.Parse(networkingEvent.Substring(0, 5));

            Assert.True(horarioNetworking >= TimeSpan.FromHours(4) && horarioNetworking <= TimeSpan.FromHours(5));
        }
        public void ValidarAgendaPalestraSemTitulo()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();
            Exception           exception           =
                Assert.Throws <Exception>(() => conferenciaBusiness.GerarTrilhas(new[] { "5min" }.ToList()));

            Assert.Equal("Não foi possível encontrar o nome da trilha no texto digitado.", exception.Message);
        }
        public void ValidarAgendaPalestraSemDuracao()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();
            Exception           exception           = Assert.Throws <Exception>(() =>
                                                                                conferenciaBusiness.GerarTrilhas(new[] { "User Interface CSS in Rails Apps" }.ToList()));

            Assert.Equal("Não foi possível encontrar a duração da trilha no texto digitado.", exception.Message);
        }
        public void ValidarAgendaTrilhas()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();
            List <Trilha>       trilhas             = conferenciaBusiness.GerarTrilhas(this._palestras.ToList());

            ImpressaoBusiness impressaoBusiness = new ImpressaoBusiness();
            List <string>     impressaoTrilhas  = impressaoBusiness.GerarImpressaoTrilhas(trilhas);

            Assert.True(impressaoTrilhas.Count == 25);
        }
        public void ValidarAgendaPalestraLighting()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();
            List <Trilha>       trilhas             =
                conferenciaBusiness.GerarTrilhas(new[] { "Rails for Python Developers lightning" }.ToList());

            Palestra palestra = trilhas.First().Manha.Palestras.FirstOrDefault();

            Assert.True(palestra.Duracao == 5);
        }
        public void ValidarQuantidadeDeTrilhasGeradas()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();

            //É necessário duas trilhas
            List <Trilha> trilhas = conferenciaBusiness.GerarTrilhas(new[]
            {
                "Rails for Python Developers 180min",
                "Overdoing it in Python 240min",
                "Accounting-Driven Development 45min"
            }
                                                                     .ToList());

            Assert.True(trilhas.Count == 2);
        }
        public void ValidarHorarioSessaoManha()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();

            //É necessário duas trilhas
            List <Trilha> trilhas = conferenciaBusiness.GerarTrilhas(new[]
            {
                "Rails for Python Developers 40min"
            }
                                                                     .ToList());

            Palestra palestra = trilhas.First().Manha.Palestras.First();

            Assert.True(palestra.Horario == TimeSpan.FromHours(9));
        }
        public void ValidarHorarioSessaoTarde()
        {
            ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();

            //É necessário duas trilhas
            List <Trilha> trilhas = conferenciaBusiness.GerarTrilhas(new[]
            {
                "Rails for Python Developers 180min",
                "Overdoing it in Python 60min"
            }
                                                                     .ToList());

            Palestra palestra = trilhas.First().Tarde.Palestras.First();

            Assert.True(palestra.Horario == TimeSpan.FromHours(13));
        }
Ejemplo n.º 9
0
        private static void Main()
        {
            try
            {
                Console.WriteLine("Olá vindo ao Gerenciamento de Conferencias!");

                //Lê os dados digitados para gerar as palestras
                string        comandoEntrada;
                List <string> palestrasDigitadas = new List <string>();
                do
                {
                    Console.WriteLine(
                        "Dígite o nome e o tempo de duração da palestra (em minutos) ou [G] para gerar o a agenda.");
                    comandoEntrada = Console.ReadLine();

                    if (comandoEntrada != "G")
                    {
                        palestrasDigitadas.Add(comandoEntrada);
                    }
                } while (comandoEntrada != "G");

                //Com base nos dados digitado gera as trilhas e imprime o calendário das trilhas
                if (palestrasDigitadas.Count > 0)
                {
                    ConferenciaBusiness conferenciaBusiness = new ConferenciaBusiness();
                    List <Trilha>       trilhas             = conferenciaBusiness.GerarTrilhas(palestrasDigitadas);

                    ImpressaoBusiness impressaoBusiness      = new ImpressaoBusiness();
                    List <string>     agendaTrilhasImpressao = impressaoBusiness.GerarImpressaoTrilhas(trilhas);

                    foreach (string item in agendaTrilhasImpressao)
                    {
                        Console.WriteLine(item);
                    }
                }

                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Ocorreu um erro durante a execução. {ex.Message}");
            }
        }