public void NaodeveVender3IngressoSeHa2Vagas()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 2;

            Assert.IsFalse(sessao.PodeReservar(3));
        }
        public void DeveVender10IngressosSeHa10Vagas()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 10;

            Assert.IsTrue(sessao.PodeReservar(10));
        }
        public void DeveVender1IngressoSeHa2Vagas()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 2;

            Assert.IsTrue(sessao.PodeReservar(1));
        }
        public void DeveVender200IngressosSeHa200Vagas()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 200;

            Assert.IsTrue(sessao.PodeReservar(200));
        }
        public ActionResult Cenario()
        {
            Estabelecimento morumbi = new Estabelecimento();
            morumbi.Nome = "Estádio do Morumbi";
            morumbi.Endereco = "São Paulo / SP";
            session.Save(morumbi);

            Espetaculo e1 = new Espetaculo();
            e1.Nome = "O Médico e o Monstro";
            e1.Descricao = "Espetáculo que se passa em Londres";
            e1.Estabelecimento = morumbi;
            session.Save(e1);

            Espetaculo e2 = new Espetaculo();
            e2.Nome = "Mamma Mia!";
            e2.Descricao = "Show muito legal!";
            e2.Estabelecimento = morumbi;
            session.Save(e2);

            for (int i = 0; i < 10; i++)
            {
                Sessao sessao = new Sessao();
                sessao.Espetaculo = i % 2 == 0 ? e1 : e2;
                sessao.TotalDeIngressos = 10;
                sessao.IngressosReservados = 10 - i;
                sessao.Inicio = DateTime.Now.AddDays(7 + i);

                session.Save(sessao);
            }

            return View();
        }
        public void naoDeveVender10IngressosSeHa2Vagas()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 2;

            Assert.IsFalse(sessao.PodeReservar(10));
        }
        public void ReservarIngressosDeveDiminuirONumeroDeIngressosDisponiveis()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 5;

            sessao.Reserva(3);
            Assert.AreEqual(2, sessao.IngressosDisponiveis);
        }
        public void NaoDeveReservar10IngressoSeHa1Vaga()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 1;

            bool result = sessao.PodeReservar(10);

            Assert.IsFalse(result);
        }
        public void DeveReservar1IngressoSeHa1Vaga()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 1;

            bool result = sessao.PodeReservar(1);

            Assert.IsTrue(result);
        }
        public virtual IList<Sessao> CriaSessoes(DateTime inicio, DateTime fim, Periodicidade periodicidade)
        {
            IList<Sessao> sessoes = new List<Sessao>();
            int dias = (fim.Date - inicio.Date).Days;
            for (int i = 0; i <= dias; i++)
            {
                Sessao sessao = new Sessao();
                sessao.Espetaculo = this;
                sessao.Inicio = inicio.AddDays(i);

                sessoes.Add(sessao);
            }

            return sessoes;
        }
 public void Atualiza(Sessao sessao)
 {
     session.Update(sessao);
 }
        private Sessao SessaoComIngressosSobrando(int quantidade)
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = quantidade * 2;
            sessao.IngressosReservados = quantidade;

            return sessao;
        }
        public void NaoDeveVender500IngressosSeHa200Vagas()
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = 200;

            Assert.IsFalse(sessao.PodeReservar(500));
        }
        public void NaoDeveReservarQuantidadeDeIngressosNegativo([Values(-1,-2,-3)] int x)
        {
            Sessao sessao = new Sessao();
            sessao.TotalDeIngressos = x;

            bool result = sessao.PodeReservar(-1);

            Assert.IsFalse(result);
        }
 public void Inicializa()
 {
     sessao = new Sessao();
 }