PS 5.3 - Inmobiliaria

Gestiona y filtra una lista de departamentos en renta.

📝 Descripción del Problema

Una inmobiliaria tiene información sobre departamentos en renta. De cada uno se conoce: CLAVE, EXTENSION (m²), UBICACION (excelente, buena, regular, mala), PRECIO y DISPONIBLE (booleano).

Se debe poder realizar las siguientes operaciones:

  • a) Listar departamentos disponibles con un precio <= R.
  • b) Listar departamentos disponibles con una extensión >= E Y ubicación "excelente".
  • c) Listar el monto de la renta de todos los departamentos alquilados (no disponibles).

💡 Pistas y Fórmulas Clave

  • Este problema se resuelve con Programación Orientada a Objetos (POO).
  • Crea una clase Departamento.java para guardar los 5 atributos (CLAVE, EXTENSION, etc.).
  • Crea una clase Inmobiliaria.java que en su constructor reciba una List<Departamento>.
  • Inciso (a): Crea un método incisoA(double r_precioMax) que recorra la lista y devuelva una nueva lista filtrada. La condición es: depto.isDisponible() && depto.getPrecio() <= r_precioMax.
  • Inciso (b): Crea un método incisoB(double e_extensionMin). La condición es: depto.isDisponible() && depto.getExtension() >= e_extensionMin && depto.getUbicacion().equals("excelente").
  • Inciso (c): Crea un método incisoC_SumaTotalAlquilados() que sume el precio de los deptos donde !depto.isDisponible().

📊 Diagrama de Flujo (Inciso A)

Diagrama de flujo para PS 5.3 - Inciso A

▶️ Prueba y Resultados

Resultado de ejecutar --select-class TestInmobiliaria en la terminal.

PS C:\Users\...\Ejercicios> java -jar lib\junit-platform-console-standalone-1.9.3.jar -cp "src;tests" --select-class TestInmobiliaria

Thanks for using JUnit! Support its development at https://junit.org/sponsoring

.
+-- JUnit Jupiter [OK]
| '-- TestInmobiliaria [OK]
|   +-- testIncisoA_PrecioMax() [OK]
|   +-- testIncisoA_SinResultados() [OK]
|   +-- testIncisoB_ExtensionYUbicacion() [OK]
|   '-- testIncisoC_SumaTotalAlquilados() [OK]
'-- JUnit Platform Suite [OK]

Test run finished after 115 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         4 tests found           ]
[         0 tests skipped         ]
[         4 tests started         ]
[         0 tests aborted         ]
[         4 tests successful      ]
[         0 tests failed          ]
← Volver al Inicio