Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alvaro Ordóñez Romero
/
DAE-aha00026-aor00039
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
5c90a99c
authored
Oct 19, 2023
by
Alvaro Ordóñez Romero
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Modificación método buscarViaje() + @Test
parent
3c101bb7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
14 deletions
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
src/test/java/com/carpooling/carpoolingaoraha/entidades/UsuarioTest.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
View file @
5c90a99c
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.*
;
import
static
com
.
carpooling
.
carpoolingaoraha
.
entidades
.
Rol
.
CONDUCTOR
;
import
static
com
.
carpooling
.
carpoolingaoraha
.
entidades
.
Rol
.
PASAJERO
;
...
...
@@ -169,15 +167,43 @@ public class Usuario {
List
<
Viaje
>
viajesDisponibles
=
new
ArrayList
<>();
for
(
Viaje
viaje
:
todosLosViajes
)
{
if
(
viaje
.
getOrigen
().
equals
(
origen
)
&&
viaje
.
getDestino
().
equals
(
destino
))
{
if
(
viaje
.
getFechaSalida
().
equals
(
fecha
))
{
if
(
getRol
().
equals
(
PASAJERO
))
{
viajesDisponibles
.
add
(
viaje
);
}
if
(
viaje
.
getOrigen
().
equals
(
origen
)
&&
viaje
.
getDestino
().
equals
(
destino
)
&&
viaje
.
getFechaSalida
().
equals
(
fecha
))
{
if
(
getRol
().
equals
(
PASAJERO
))
{
viajesDisponibles
.
add
(
viaje
);
}
}
}
// Filtrar las reservas asociadas a los viajes y calcular la puntuación de los conductores
List
<
Reserva
>
reservasAsociadas
=
new
ArrayList
<>();
for
(
Reserva
reserva
:
sistemaCarPooling
.
getReservas
())
{
if
(
viajesDisponibles
.
contains
(
reserva
.
getViaje
()))
{
reservasAsociadas
.
add
(
reserva
);
}
}
// Ordenar la lista de viajes en función de la puntuación de los conductores
Collections
.
sort
(
viajesDisponibles
,
new
Comparator
<
Viaje
>()
{
@Override
public
int
compare
(
Viaje
viaje1
,
Viaje
viaje2
)
{
int
puntuacionConductor1
=
0
;
int
puntuacionConductor2
=
0
;
for
(
Reserva
reserva
:
reservasAsociadas
)
{
if
(
reserva
.
getViaje
().
equals
(
viaje1
))
{
puntuacionConductor1
=
Math
.
max
(
puntuacionConductor1
,
reserva
.
getConductor
().
getPuntuacion
());
}
if
(
reserva
.
getViaje
().
equals
(
viaje2
))
{
puntuacionConductor2
=
Math
.
max
(
puntuacionConductor2
,
reserva
.
getConductor
().
getPuntuacion
());
}
}
// Ordenar en orden descendente
return
Integer
.
compare
(
puntuacionConductor2
,
puntuacionConductor1
);
}
});
return
viajesDisponibles
;
}
}
src/test/java/com/carpooling/carpoolingaoraha/entidades/UsuarioTest.java
View file @
5c90a99c
...
...
@@ -43,20 +43,29 @@ public class UsuarioTest {
@Test
public
void
testBuscarViaje
()
{
List
<
Viaje
>
todosLosViajes
=
new
ArrayList
<>();;
Usuario
pasajero
=
new
Usuario
(
"Pasajero"
,
"ApellidoPasajero"
,
new
Date
(),
"87654321B"
,
987654321
,
"pasajer
o@example.com"
,
"clave"
,
Rol
.
PASAJERO
);
// Inicializar un usuario de ejemplo
Usuario
usuario
=
new
Usuario
(
"Nombre"
,
"Apellidos"
,
new
Date
(),
"123456789"
,
123456789
,
"usuari
o@example.com"
,
"clave"
,
Rol
.
PASAJERO
);
// Inicializar la lista de viajes con datos de ejemplo
List
<
Viaje
>
todosLosViajes
=
new
ArrayList
<>();
Viaje
viaje1
=
new
Viaje
(
"Origen1"
,
"Destino1"
,
new
Date
(),
3
,
20
);
Viaje
viaje2
=
new
Viaje
(
"Origen2"
,
"Destino2"
,
new
Date
(),
2
,
15
);
Viaje
viaje3
=
new
Viaje
(
"Origen
1"
,
"Destino1"
,
new
Date
(),
4
,
18
);
Viaje
viaje3
=
new
Viaje
(
"Origen
3"
,
"Destino3"
,
new
Date
(),
1
,
10
);
todosLosViajes
.
add
(
viaje1
);
todosLosViajes
.
add
(
viaje2
);
todosLosViajes
.
add
(
viaje3
);
List
<
Viaje
>
viajesDisponibles
=
pasajero
.
buscarViaje
(
"Origen1"
,
"Destino1"
,
new
Date
(),
Rol
.
PASAJERO
,
todosLosViajes
);
// Ejecutar la función buscarViaje con datos de ejemplo
List
<
Viaje
>
viajesDisponibles
=
usuario
.
buscarViaje
(
"Origen1"
,
"Destino1"
,
new
Date
(),
Rol
.
PASAJERO
,
todosLosViajes
);
assertEquals
(
2
,
viajesDisponibles
.
size
());
// Verificar que la lista de viajes disponibles no esté vacía
assertEquals
(
1
,
viajesDisponibles
.
size
());
// Verificar que el viaje encontrado coincida con los criterios de búsqueda
Viaje
viajeEncontrado
=
viajesDisponibles
.
get
(
0
);
assertEquals
(
"Origen1"
,
viajeEncontrado
.
getOrigen
());
assertEquals
(
"Destino1"
,
viajeEncontrado
.
getDestino
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment