public void ReserveThreeSeatsIocPattern()
        {
            this.seats = new Collection <Seat>
            {
                new Seat()
                {
                    Column = 12, Row = 4
                },
                new Seat()
                {
                    Column = 13, Row = 4
                },
                new Seat()
                {
                    Column = 14, Row = 4
                }
            };

            Reserve reserve = new Reserve(this.seats)
            {
                Film     = "El Violinista del diablo",
                Function = "2020-03-02 20:00"
            };

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();

            eliteMovie.Reserve(reserve);

            IEliteMovieValidator validator = ContainerFactory.Get <IEliteMovieValidator>();

            validator.Reserve = reserve;
            validator.VerifiesReserveSeats();
        }
Ejemplo n.º 2
0
        public void ReserveThreeSeatsFluentPattern()
        {
            Collection <Seat> seats = new Collection <Seat>
            {
                new Seat()
                {
                    Column = 12, Row = 4
                },
                new Seat()
                {
                    Column = 13, Row = 4
                },
                new Seat()
                {
                    Column = 14, Row = 4
                }
            };

            Reserve reserve = new Reserve(seats)
            {
                Film     = "El Violinista del diablo",
                Function = "2020-03-02 20:00"
            };

            Uri uri = new Uri(this.url);

            Driver.Instance.Browser.Navigate().GoToUrl(uri);

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();

            eliteMovie.Reserve(reserve);

            GenericApiValidator.AssertBookedSeats(seats);
        }
Ejemplo n.º 3
0
        public void ReserveThreeSeats()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("El Violinista del Diablo", "2");

            reserve.Seats.Add(new Seat(4, 12));
            reserve.Seats.Add(new Seat(4, 13));
            reserve.Seats.Add(new Seat(4, 14));

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();

            eliteMovie.Reserve(reserve);

            List <Seat> bookedSeats = new List <Seat>();

            using (WebClient request = new WebClient())
            {
                string   response = request.DownloadString("http://localhost:8080/rest/showtime/2");
                Showtime showTime = JsonConvert.DeserializeObject <Showtime>(response);

                showTime.Seats.ForEach(block => bookedSeats.AddRange(block.Where(seat => seat.Booked)));
            }

            CollectionAssert.AreEquivalent(reserve.Seats, bookedSeats);
        }
Ejemplo n.º 4
0
        public void NotOmitTheColonTest()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            bool found = eliteMovie.FindFilm("Los Juegos del Hambre: Sinsajo Parte 1");

            Assert.IsTrue(found);
        }
Ejemplo n.º 5
0
        public void NonSearchForPartsOfNameTest()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            bool found = eliteMovie.FindFilm("Violinista Diablo");

            Assert.IsTrue(found);
        }
Ejemplo n.º 6
0
        public void NotOmitTheCommaTest()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            bool found = eliteMovie.FindFilm("Pancho el perro millonario");

            Assert.IsTrue(found);
        }
Ejemplo n.º 7
0
        public void NotOmitTheAccentsTest()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            bool found = eliteMovie.FindFilm("Exodo, Dioses y Reyes");

            Assert.IsTrue(found);
        }
        public void VerifiesReserveSeats()
        {
            EliteMovieEntryPoint entryPoint  = new EliteMovieEntryPoint();
            ICollection <Seat>   bookedSeats = entryPoint.ObtainBookedSeats(this.Reserve.Film, this.Reserve.Function);

            foreach (Seat currentSeat in Reserve.Seats)
            {
                CollectionAssert.Contains(bookedSeats, currentSeat);
            }
        }
Ejemplo n.º 9
0
        public void FullShowtime()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("El libro de la vida", "6");

            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            string message = eliteMovie.TryToReserve(reserve);

            Assert.AreEqual(message, "Solo hay 0 sillas disponibles.");
        }
Ejemplo n.º 10
0
        public void TwoSeatsAvailableShowtime()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("Donde se esconde el diablo", "9");

            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            string message = eliteMovie.TryToReserve(reserve);

            Assert.AreEqual(message, "Solo hay 2 sillas disponibles.");
        }
Ejemplo n.º 11
0
        public void SelectMoreSeatsThanAllowedErrorTest()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("El Violinista del Diablo", "2");

            reserve.Seats.Add(new Seat(2, 12));
            reserve.Seats.Add(new Seat(2, 13));
            reserve.Seats.Add(new Seat(2, 14));
            reserve.Seats.Add(new Seat(2, 15));

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            ICollection <Seat>   seats      = eliteMovie.TryToSelectSeats(reserve, 3);

            bool isFourthSeatSelected = seats.ElementAt(3).Booked;

            Assert.AreEqual(false, isFourthSeatSelected);
        }
Ejemplo n.º 12
0
        public void ForSeatsAvailableShowtime()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("Relatos Salvajes", "15");

            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            string message = eliteMovie.TryToReserve(reserve);

            Assert.AreEqual(message, "Solo hay 4 sillas disponibles.");
        }
Ejemplo n.º 13
0
        public void ThreeSeatsAvailableShowtime()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("Primicia Mortal", "12");

            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());
            reserve.Seats.Add(new Seat());

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();
            string message = eliteMovie.TryToReserve(reserve);

            Assert.AreEqual(message, "Solo hay 3 sillas disponibles.");
        }
Ejemplo n.º 14
0
        public void AfterReserveVerifyThatTheSeatsAreUnavailable()
        {
            this.driver.Navigate().GoToUrl(this.uri);

            Reserve reserve = new Reserve("El Violinista del Diablo", "2");

            reserve.Seats.Add(new Seat(4, 12));
            reserve.Seats.Add(new Seat(4, 13));
            reserve.Seats.Add(new Seat(4, 14));

            EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint();

            eliteMovie.Reserve(reserve);

            ICollection <Seat> bookedSeats = eliteMovie.ObtainBookedSeats(reserve);

            foreach (Seat currentSeat in reserve.Seats)
            {
                CollectionAssert.Contains(bookedSeats, currentSeat);
            }
        }