public void FiltrarBusquedaDeHabitaciones_AmenidadesDiferentes() { //Arrange var servicio = new ServiciosReservacionLocales(); var hotel = new Hotel() { Categoria = Categoria.CincoEstrellas, Amenidades = new List <Amenidad> { Amenidad.AguaCaliente } }; var habitac = new Habitacion { Id = 5, Tipo = TipoHbitacion.Doble, Hotel = hotel }; var habitacionesDisp = new List <Habitacion> { habitac, new Habitacion { Id = 11, Tipo = TipoHbitacion.Doble, Hotel = hotel } }; var Tipos = new List <TipoHbitacion>(); var Amenidades = new List <Amenidad>() { Amenidad.AguaCaliente }; var Categories = new List <Categoria>(); //Act var resultado = servicio.FiltrarBusquedaDeHabitaciones( habitacionesDisp, Tipos, Amenidades, Categories); //Assert Assert.IsTrue(resultado.Contains(habitac)); }
public void GenerarPrecioDeHabitacionPorFechaYUsuario_valida_precios() { // Regresa el precio de la ha bitacion por dia para cada dia del rango de fechas var habitacion = new Habitacion() { Tipo = TipoHbitacion.Sencilla, Ocupacion = EstadoOcupacion.Vacio, TarifaBase = 500m }; //usuario premium var usuario = new Usuario { Id = 56, EsUsuarioPremium = true }; var ListaResult = new List <CostoHabitacionPorDia>(); var servicios = new ServiciosReservacionLocales();//servicio var Finicio = new DateTime(2019, 03, 25); var Ffin = new DateTime(2019, 03, 31); //Act ListaResult = servicios.GenerarPrecioDeHabitacionPorFechaYUsuario( habitacion, Finicio, Ffin, usuario); decimal total = ListaResult.Sum(item => item.Precio); Assert.AreEqual(3325m, total); //Assert //foreach (CostoHabitacionPorDia CostoXd in ListaResult) //{ // Assert.AreEqual(servicios.GenerarPrecioDeHabitacionPorFechaYUsuario(habitacion, CostoXd.Fecha, usuario).Precio, CostoXd.Precio); //} }
public void FiltrarBusquedaDeHabitaciones_NoEncontrado() { //Arrange var servicio = new ServiciosReservacionLocales(); var hotel = new Hotel() { Categoria = Categoria.CincoEstrellas, Amenidades = new List <Amenidad> { Amenidad.AguaCaliente } }; var habitacionesDisp = new List <Habitacion> { new Habitacion { Id = 11, Tipo = TipoHbitacion.Doble, Hotel = hotel } }; var Tipos = new List <TipoHbitacion>(); var Amenidades = new List <Amenidad>(); var Categories = new List <Categoria>(); //Act var resultado = servicio.FiltrarBusquedaDeHabitaciones( habitacionesDisp, Tipos, Amenidades, Categories); //Assert Assert.AreEqual(new List <Habitacion>(), resultado); }
public void FiltrarBusquedaDeHabitaciones_Amenidades() { List <Habitacion> habitaciones = new List <Habitacion> { new Habitacion() { Tipo = TipoHbitacion.Doble }, new Habitacion() { Tipo = TipoHbitacion.Sencilla }, new Habitacion() { Tipo = TipoHbitacion.Doble }, new Habitacion() { Tipo = TipoHbitacion.Triple }, new Habitacion() { Tipo = TipoHbitacion.Triple }, new Habitacion() { Tipo = TipoHbitacion.Doble } }; List <TipoHbitacion> tipoHbitaciones = new List <TipoHbitacion> { TipoHbitacion.Doble, TipoHbitacion.Sencilla, TipoHbitacion.Triple }; List <Amenidad> amenidades = new List <Amenidad> { Amenidad.AguaCaliente }; ServiciosReservacionLocales servicios = new ServiciosReservacionLocales(); CollectionAssert.AreEqual(habitaciones, servicios.FiltrarBusquedaDeHabitaciones(habitaciones, tipoHbitaciones, amenidades, null)); }
public void GenerarPrecioDeHabitacionPorFechaYUsuario_TarifaSatSunDay() { //si recibimos fecha, aplicar tarifas de fin de semana //Arrange var usuario = new Usuario { Id = 676, EsUsuarioPremium = false }; var habitacion = new Habitacion { Id = 4545, TarifaBase = 500m }; var dia = new DateTime(2019, 03, 30); var servicio = new ServiciosReservacionLocales(); //Act var resultado = servicio.GenerarPrecioDeHabitacionPorFechaYUsuario( habitacion, dia, usuario); //Assert Assert.AreEqual(575m, resultado.Precio); }
public void GenerarPrecioDeHabitacionPorFechaYUsuario_DescuentoPremium() { //si recibimos un usuario y es un usuario premium, aplicar descuento de 10% //Arrange var usuario = new Usuario { Id = 676, EsUsuarioPremium = true }; var habitacion = new Habitacion { Id = 4545, TarifaBase = 500m }; var dia = new DateTime(20000901); var servicio = new ServiciosReservacionLocales(); //Act var resultado = servicio.GenerarPrecioDeHabitacionPorFechaYUsuario( habitacion, dia, usuario); //Assert Assert.AreEqual(450m, resultado.Precio); }