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(); }
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); }
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); }
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); }
public void NonSearchForPartsOfNameTest() { this.driver.Navigate().GoToUrl(this.uri); EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint(); bool found = eliteMovie.FindFilm("Violinista Diablo"); Assert.IsTrue(found); }
public void NotOmitTheCommaTest() { this.driver.Navigate().GoToUrl(this.uri); EliteMovieEntryPoint eliteMovie = new EliteMovieEntryPoint(); bool found = eliteMovie.FindFilm("Pancho el perro millonario"); Assert.IsTrue(found); }
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); } }
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."); }
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."); }
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); }
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."); }
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."); }
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); } }