diff --git a/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/FiltrarPorPrecioMaximoUITest.java b/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/FiltrarPorPrecioMaximoUITest.java
index c0e5fac..c994f2c 100644
--- a/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/FiltrarPorPrecioMaximoUITest.java
+++ b/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/FiltrarPorPrecioMaximoUITest.java
@@ -96,7 +96,6 @@ public void testFiltrarGasolinerasPorPrecioMaximoNoIntroducidoError() {
//clicka en filtrar
onView(withId(R.id.menuFiltrar)).perform(click());
//comprueba mensaje de error
- // onView(withText("Por favor, introduce un precio máximo.")).inRoot(RootMatchers.withDecorView(not(decorView))).check(matches(isDisplayed()));
assertTrue(true);
}
@@ -113,7 +112,6 @@ public void testFiltrarGasolinerasPorPrecioMaximoNoNumericoError() {
onView(withId(R.id.etPrecioMax)).perform(typeText("Uno punto cuatro"));
//comprueba mensaje de error
- // onView(withText("Por favor, introduce un número válido para el precio máximo.")).inRoot(RootMatchers.withDecorView(not(decorView))).check(matches(isDisplayed()));
assertTrue(true);
}
@@ -130,42 +128,43 @@ public void testFiltrarGasolinerasPorPrecioMaximoNegativoError() {
onView(withId(R.id.etPrecioMax)).perform(typeText("-1.4"));
//comprueba mensaje de error
- // onView(withText("Por favor, el precio máximo debe ser positivo.")).inRoot(RootMatchers.withDecorView(not(decorView))).check(matches(isDisplayed()));
assertTrue(true);
}
-// @Test
-// public void testPersistenciaDeDatosFiltradosAlReiniciar() throws InterruptedException {
-// //clicka en filtrar
-// onView(withId(R.id.menuFiltrar)).perform(click());
-//
-// //clicka en el selector de combustible
-// onView(withId(R.id.spinnerCombustible)).perform(click());
-//
-// //elige la opcion gasoleo A
-// onData(allOf(is(instanceOf(TipoCombustible.class)),
-// is(GASOLEO_A))).inRoot(isPlatformPopup()).perform(click());
-//
-// //clicka en el campo de precio máximo
-// onView(withId(R.id.etPrecioMax)).perform(click());
-//
-// //escribe 1.4 en el campo de precio máximo
-// onView(withId(R.id.etPrecioMax)).perform(typeText("1.4"));
-//
-// //clicka el botón filtrar
-// onView(withId(R.id.btnFiltrar)).perform(click());
-//
-// // Cierra y reinicia la actividad (simula reiniciar la app)
-// activityRule.getScenario().recreate();
-//
-// //clicka en filtrar de nuevo
-// onView(withId(R.id.menuFiltrar)).perform(click());
-//
-// //verifica que el filtro persiste
-// onView(withId(R.id.etPrecioMax)).check(matches(withText("1.4")));
-// onView(withId(R.id.spinnerCombustible)).check(matches(withSpinnerText("Gasoleo A")));
-// assertTrue(true);
-// }
+ /*
+ @Test
+ public void testPersistenciaDeDatosFiltradosAlReiniciar() throws InterruptedException {
+ //clicka en filtrar
+ onView(withId(R.id.menuFiltrar)).perform(click());
+
+ //clicka en el selector de combustible
+ onView(withId(R.id.spinnerCombustible)).perform(click());
+
+ //elige la opcion gasoleo A
+ onData(allOf(is(instanceOf(TipoCombustible.class)),
+ is(GASOLEO_A))).inRoot(isPlatformPopup()).perform(click());
+
+ //clicka en el campo de precio máximo
+ onView(withId(R.id.etPrecioMax)).perform(click());
+
+ //escribe 1.4 en el campo de precio máximo
+ onView(withId(R.id.etPrecioMax)).perform(typeText("1.4"));
+
+ //clicka el botón filtrar
+ onView(withId(R.id.btnFiltrar)).perform(click());
+
+ // Cierra y reinicia la actividad (simula reiniciar la app)
+ activityRule.getScenario().recreate();
+
+ //clicka en filtrar de nuevo
+ onView(withId(R.id.menuFiltrar)).perform(click());
+
+ //verifica que el filtro persiste
+ onView(withId(R.id.etPrecioMax)).check(matches(withText("1.4")));
+ onView(withId(R.id.spinnerCombustible)).check(matches(withSpinnerText("Gasoleo A")));
+ assertTrue(true);
+ }
+ */
@Test
public void testCancelacionDelFiltro() {
diff --git a/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/MostrarHorarioGasolineraUITest.java b/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/MostrarHorarioGasolineraUITest.java
index eda86f2..4e07c5d 100644
--- a/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/MostrarHorarioGasolineraUITest.java
+++ b/AndroidProject/app/src/androidTest/java/es/unican/gasolineras/activities/main/MostrarHorarioGasolineraUITest.java
@@ -1,6 +1,8 @@
package es.unican.gasolineras.activities.main;
import static androidx.test.espresso.Espresso.onData;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.swipeUp;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
@@ -127,7 +129,6 @@ public void test24H() {
DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(0);
g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("Abierto")));
g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(24H)")));
-// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withTextColor(ContextCompat.getColor(context, R.color.verde))));
}
@Test
@@ -136,7 +137,6 @@ public void testAbiertaSimple() {
DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(1);
g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("Abierto")));
g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(" + procesaHorario(UtilsHorario.obtenerHorarioAbiertoSimple(), obtenerDiaActual(LocalDateTime.now().getDayOfWeek())) + ")")));
-// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withTextColor(ContextCompat.getColor(context, R.color.verde))));
}
@Test
@@ -145,7 +145,6 @@ public void testAbiertaIntervalo() {
DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(2);
g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("Abierto")));
g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(" + procesaHorario(UtilsHorario.obtenerHorarioAbiertoIntervalo(), obtenerDiaActual(LocalDateTime.now().getDayOfWeek())) + ")")));
-// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withTextColor(ContextCompat.getColor(context, R.color.verde))));
}
@Test
@@ -154,26 +153,26 @@ public void testCerradaTodoElDia() {
DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(3);
g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("Cerrado")));
g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(Todo el día)")));
-// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withTextColor(ContextCompat.getColor(context, R.color.rojo))));
}
-// @Test
-// public void testCerradaParcial() {
-// //comprueba la direccion de la primera gasolinera
-// DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(4);
-// g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("Cerrado")));
-// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(" + procesaHorario(UtilsHorario.obtenerHorarioCerradoIntervalo(), obtenerDiaActual(LocalDateTime.now().getDayOfWeek())) + ")")));
-//// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withTextColor(ContextCompat.getColor(context, R.color.rojo))));
-// }
-
-// @Test
-// public void testSinDetallesDeHorario() throws InterruptedException {
-// //comprueba la direccion de la primera gasolinera
-// // Scroll puesto que se sale de la pantalla y no se alcanza a ver
-// onView(withId(R.id.lvStations)).perform(swipeUp());
-// DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(5);
-// g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("")));
-// g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(Sin detalles de horario)")));
-// }
+ /*
+ @Test
+ public void testCerradaParcial() {
+ //comprueba la direccion de la primera gasolinera
+ DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(4);
+ g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("Cerrado")));
+ g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(" + procesaHorario(UtilsHorario.obtenerHorarioCerradoIntervalo(), obtenerDiaActual(LocalDateTime.now().getDayOfWeek())) + ")")));
+ }
+
+ @Test
+ public void testSinDetallesDeHorario() throws InterruptedException {
+ //comprueba la direccion de la primera gasolinera
+ // Scroll puesto que se sale de la pantalla y no se alcanza a ver
+ onView(withId(R.id.lvStations)).perform(swipeUp());
+ DataInteraction g1 = onData(anything()).inAdapterView(withId(R.id.lvStations)).atPosition(5);
+ g1.onChildView(withId(R.id.tvAbiertoCerrado)).check(matches(withText("")));
+ g1.onChildView(withId(R.id.tvHorarioGasolinera)).check(matches(withText("(Sin detalles de horario)")));
+ }
+ */
}
diff --git a/AndroidProject/app/src/main/java/es/unican/gasolineras/common/Utils.java b/AndroidProject/app/src/main/java/es/unican/gasolineras/common/Utils.java
index 60ece89..a6e8fa8 100644
--- a/AndroidProject/app/src/main/java/es/unican/gasolineras/common/Utils.java
+++ b/AndroidProject/app/src/main/java/es/unican/gasolineras/common/Utils.java
@@ -39,6 +39,13 @@
*/
public class Utils {
+ /**
+ * Constructor privado para evitar instanciación
+ */
+ private Utils () {
+
+ }
+
/**
* Parses a list of gas stations from a json resource file.
* The json must contain a serialized GasolinerasResponse object.
diff --git a/AndroidProject/app/src/main/java/es/unican/gasolineras/common/UtilsHorario.java b/AndroidProject/app/src/main/java/es/unican/gasolineras/common/UtilsHorario.java
index 3beca5c..c2168f2 100644
--- a/AndroidProject/app/src/main/java/es/unican/gasolineras/common/UtilsHorario.java
+++ b/AndroidProject/app/src/main/java/es/unican/gasolineras/common/UtilsHorario.java
@@ -8,8 +8,15 @@
public class UtilsHorario {
+ /**
+ * Constructor privado para evitar instanciacion
+ */
+ private UtilsHorario () {
+
+ }
+
public static final String SIN_DETALLES_DE_HORARIO = "Sin detalles de horario";
- public static final String TODO_EL_DÍA = "Todo el día";
+ public static final String TODO_EL_DIA = "Todo el día";
public static final String HH_MM = "HH:mm";
/**
@@ -46,7 +53,7 @@ public static String procesaHorario(String horario, String dia) {
if (diaEstaEnRango(dia, inicio, fin)) return rango;
}
}
- return TODO_EL_DÍA;
+ return TODO_EL_DIA;
}
/**
@@ -112,7 +119,7 @@ public static boolean gasolineraAbierta(String horarios, LocalTime horaActual) {
if ("24H".equals(horarios)) {
return true; // Siempre abierta
}
- if (TODO_EL_DÍA.equals(horarios)) {
+ if (TODO_EL_DIA.equals(horarios)) {
return false;
}
if (SIN_DETALLES_DE_HORARIO.equals(horarios)) {
@@ -141,7 +148,7 @@ public static boolean gasolineraAbierta(String horarios, LocalTime horaActual) {
* false si no esta dentro del rango.
*/
public static boolean horaEnRango(String rango, LocalTime horaActual) {
- if ((rango.equals(SIN_DETALLES_DE_HORARIO))&&(rango.equals(TODO_EL_DÍA)))
+ if ((rango.equals(SIN_DETALLES_DE_HORARIO))&&(rango.equals(TODO_EL_DIA)))
{
return false;
}
diff --git a/AndroidProject/app/src/main/java/es/unican/gasolineras/injection/RepositoriesModule.java b/AndroidProject/app/src/main/java/es/unican/gasolineras/injection/RepositoriesModule.java
index ec3c325..c0fc84e 100644
--- a/AndroidProject/app/src/main/java/es/unican/gasolineras/injection/RepositoriesModule.java
+++ b/AndroidProject/app/src/main/java/es/unican/gasolineras/injection/RepositoriesModule.java
@@ -20,6 +20,12 @@
@InstallIn(ActivityComponent.class)
public abstract class RepositoriesModule {
+ /**
+ * Constructor privado
+ */
+ private RepositoriesModule () {
+ }
+
@Provides
public static IGasolinerasRepository provideRepository() {
return GasolinerasRepository.INSTANCE;
diff --git a/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/DbFunctions.java b/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/DbFunctions.java
index ccc4bf1..a59d580 100644
--- a/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/DbFunctions.java
+++ b/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/DbFunctions.java
@@ -5,6 +5,13 @@
import androidx.room.Room;
public class DbFunctions {
+
+ /**
+ * Constructor privado
+ */
+ private DbFunctions() {
+ }
+
// Base de datos de los puntos de interes
private static AppDatabase db;
diff --git a/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/GasolinerasService.java b/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/GasolinerasService.java
index 2ef6ac2..cfdfdcc 100644
--- a/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/GasolinerasService.java
+++ b/AndroidProject/app/src/main/java/es/unican/gasolineras/repository/GasolinerasService.java
@@ -20,6 +20,11 @@
*/
public class GasolinerasService {
+ /**
+ * Constructor privado
+ */
+ private GasolinerasService() {}
+
/** Open Charge Map API base URL*/
final static String BASE_URL = "https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/";
diff --git a/AndroidProject/app/src/main/res/values-night/themes.xml b/AndroidProject/app/src/main/res/values-night/themes.xml
index b979b2c..64b51c1 100644
--- a/AndroidProject/app/src/main/res/values-night/themes.xml
+++ b/AndroidProject/app/src/main/res/values-night/themes.xml
@@ -2,6 +2,5 @@
\ No newline at end of file
diff --git a/AndroidProject/app/src/main/res/xml/backup_rules.xml b/AndroidProject/app/src/main/res/xml/backup_rules.xml
index fa0f996..0ceea26 100644
--- a/AndroidProject/app/src/main/res/xml/backup_rules.xml
+++ b/AndroidProject/app/src/main/res/xml/backup_rules.xml
@@ -6,8 +6,5 @@
See https://developer.android.com/about/versions/12/backup-restore
-->
-
+
\ No newline at end of file
diff --git a/AndroidProject/app/src/test/java/es/unican/gasolineras/activities/main/MainPresenterTest.java b/AndroidProject/app/src/test/java/es/unican/gasolineras/activities/main/MainPresenterTest.java
index e77c4c8..fd971f9 100644
--- a/AndroidProject/app/src/test/java/es/unican/gasolineras/activities/main/MainPresenterTest.java
+++ b/AndroidProject/app/src/test/java/es/unican/gasolineras/activities/main/MainPresenterTest.java
@@ -195,13 +195,13 @@ public void inicializa() {
public void testComparadorDistancia(){
//caso que la primera gasolinera esta mas cerca
- assertEquals(comparadorDistancia.compare(cercana, lejana), -1);
+ assertEquals(-1, comparadorDistancia.compare(cercana, lejana));
//caso que la primera gasolinera esta mas lejos
- assertEquals(comparadorDistancia.compare(lejana, cercana), 1);
+ assertEquals(1, comparadorDistancia.compare(lejana, cercana));
//caso que esten a la misma distancia
- assertEquals(comparadorDistancia.compare(cercana, auxCercana), 0);
+ assertEquals(0, comparadorDistancia.compare(cercana, auxCercana));
}
diff --git a/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsHorarioTest.java b/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsHorarioTest.java
index 103f847..edcfa8a 100644
--- a/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsHorarioTest.java
+++ b/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsHorarioTest.java
@@ -13,27 +13,24 @@
public class UtilsHorarioTest {
- private GasolinerasArrayAdapter adapter;
-
-
@Test
public void procesaHorarioTest() {
- Assert.assertEquals(procesaHorario("L-D: 08:00-21:00", "L"), "08:00-21:00");
- Assert.assertEquals(procesaHorario("L-D: 08:00-14:00 y 16:00-22:00", "L"), "08:00-14:00 y 16:00-22:00");
- Assert.assertEquals(procesaHorario("M-V: 08:00-21:00", "L"), "Todo el día");
- Assert.assertEquals(procesaHorario("L-D: 24H", "L"), "24H");
- Assert.assertEquals(procesaHorario("", "L"), "Sin detalles de horario");
+ Assert.assertEquals("08:00-21:00", procesaHorario("L-D: 08:00-21:00", "L"));
+ Assert.assertEquals("08:00-14:00 y 16:00-22:00", procesaHorario("L-D: 08:00-14:00 y 16:00-22:00", "L"));
+ Assert.assertEquals("Todo el día", procesaHorario("M-V: 08:00-21:00", "L"));
+ Assert.assertEquals("24H", procesaHorario("L-D: 24H", "L"));
+ Assert.assertEquals("Sin detalles de horario", procesaHorario("", "L"));
}
@Test
public void gasolineraAbiertaTest(){
- Assert.assertEquals(gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(10, 00)), true);
- Assert.assertEquals(gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(15, 00)), false);
- Assert.assertEquals(gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(8, 00)), true);
- Assert.assertEquals(gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(14, 00,00,1)), false);
- Assert.assertEquals(gasolineraAbierta("24H", LocalTime.of(10, 00)), true);
- Assert.assertEquals(gasolineraAbierta("Todo el día", LocalTime.of(10, 00)), false);
- Assert.assertEquals(gasolineraAbierta("Sin detalles de horario", LocalTime.of(10, 00)), false);
+ Assert.assertEquals(true, gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(10, 00)));
+ Assert.assertEquals(false, gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(15, 00)));
+ Assert.assertEquals(true, gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(8, 00)));
+ Assert.assertEquals(false, gasolineraAbierta("08:00-14:00 y 16:00-20:00", LocalTime.of(14, 00,00,1)));
+ Assert.assertEquals(true, gasolineraAbierta("24H", LocalTime.of(10, 00)));
+ Assert.assertEquals(false, gasolineraAbierta("Todo el día", LocalTime.of(10, 00)));
+ Assert.assertEquals(false, gasolineraAbierta("Sin detalles de horario", LocalTime.of(10, 00)));
}
diff --git a/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsTest.java b/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsTest.java
index e0e6718..31f8cb8 100644
--- a/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsTest.java
+++ b/AndroidProject/app/src/test/java/es/unican/gasolineras/common/UtilsTest.java
@@ -112,8 +112,8 @@ public void rellenaListaCombusitblesTest() {
//Compruebo que la lista tiene todos los elementos
Assert.assertEquals("La lista no contiene todos los combustibles.",
- listaCombustiblesParaRellenar.size(),
- 14);
+ 14,
+ listaCombustiblesParaRellenar.size());
// Verificar elementos uno por uno
for (int i = 0; i < listaCompleta.size(); i++) {
@@ -135,8 +135,8 @@ public void rellenaListaCombusitblesTest() {
//Compruebo que la lista tiene todos los elementos
Assert.assertEquals("La lista no contiene todos los combustibles.",
- listaCombustiblesParaRellenar.size(),
- 6);
+ 6,
+ listaCombustiblesParaRellenar.size());
// Verificar elementos uno por uno
for (int i = 0; i < listaParcial.size(); i++) {
@@ -158,8 +158,8 @@ public void rellenaListaCombusitblesTest() {
//Compruebo que la lista tiene todos los elementos
Assert.assertEquals("La lista contiene algun combustible.",
- listaCombustiblesParaRellenar.size(),
- 0);
+ 0,
+ listaCombustiblesParaRellenar.size());
// Verificar elementos uno por uno
for (int i = 0; i < listaVacia.size(); i++) {