From 2263174bfcc96584cd3cca073cb3c698124f0f73 Mon Sep 17 00:00:00 2001
From: Mr SL1D3R <76396365+Mr-sl1d3r@users.noreply.github.com>
Date: Sat, 8 Mar 2025 15:17:27 +0100
Subject: [PATCH] Ristrutturato il file main
---
src/Main.java | 84 ++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 67 insertions(+), 17 deletions(-)
diff --git a/src/Main.java b/src/Main.java
index 5138bf3..ab9cedd 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -1,27 +1,77 @@
-//TIP To Run code, press or
-// click the icon in the gutter.
public class Main {
public static void main(String[] args) {
- Cinema cinema;
- cinema = new Cinema("Calvino VIew", 5);
+ // Crea un nuovo cinema con un massimo di 4 film
+ Cinema multisala = new Cinema("Multisala Centrale", 4);
- Film film1 = new Film("Il Signore degli Anelli", 180, "Sala 1", 100);
- Film film2 = new Film("Harry Potter", 120, "Sala 2", 100);
- Film film3 = new Film("Il Padrino", 150, "Sala 3", 100);
+ // Crea alcuni film di test
+ Film film1 = new Film("Il Signore degli Anelli", 180, "Sala 1", 60);
+ Film film2 = new Film("Interstellar", 169, "Sala 2", 50);
+ Film film3 = new Film("Inception", 148, "Sala 3", 40);
+ Film film4 = new Film("Matrix", 136, "Sala 4", 30);
- cinema.aggiungiFilm(film1);
- cinema.aggiungiFilm(film2);
- cinema.aggiungiFilm(film3);
+ // Test per il Problema 1 e 3 - aggiungiFilm
+ System.out.println("=== Test aggiunta film ===");
+ multisala.aggiungiFilm(film1);
+ multisala.aggiungiFilm(film2);
+ multisala.aggiungiFilm(film3);
+ multisala.aggiungiFilm(film4);
- cinema.stampaProgrammazione();
+ // Stampa programmazione
+ System.out.println("\n=== Programmazione attuale ===");
+ multisala.stampaProgrammazione();
- cinema.prenotaPosti(10, film1);
- cinema.prenotaPosti(10, film1);
- cinema.prenotaPosti(10, film1);
- cinema.prenotaPosti(10, film1);
+ // Test per il Problema 1 - prenotaPosti
+ System.out.println("\n=== Test prenotazione posti ===");
- cinema.stampaProgrammazione();
+ // Crea una copia di film1 per dimostrare il problema di confronto con ==
+ Film film1Copy = new Film("Il Signore degli Anelli", 180, "Sala 1", 60);
+ System.out.println("Test prenotazione con oggetto diverso ma stesso film:");
- cinema.filmPiùLungo();
+ boolean prenotazioneSuccesso = multisala.prenotaPosti(10, film1Copy);
+ if (prenotazioneSuccesso) {
+ System.out.println("Prenotazione di 10 posti per " + film1Copy.getTitolo() + " effettuata con successo");
+ } else {
+ System.out.println("Prenotazione di 10 posti per " + film1Copy.getTitolo() + " fallita");
+ }
+
+ // Test per prenotaPosti con film esistente
+ System.out.println("\nTest prenotazione standard:");
+ prenotazioneSuccesso = multisala.prenotaPosti(20, film2);
+ if (prenotazioneSuccesso) {
+ System.out.println("Prenotazione di 20 posti per " + film2.getTitolo() + " effettuata con successo");
+ } else {
+ System.out.println("Prenotazione di 20 posti per " + film2.getTitolo() + " fallita");
+ }
+
+ // Test per prenotaPosti con troppi posti
+ System.out.println("\nTest prenotazione con troppi posti:");
+ prenotazioneSuccesso = multisala.prenotaPosti(100, film3);
+ if (prenotazioneSuccesso) {
+ System.out.println("Prenotazione di 100 posti per " + film3.getTitolo() + " effettuata con successo");
+ } else {
+ System.out.println("Prenotazione di 100 posti per " + film3.getTitolo() + " fallita");
+ }
+
+ // Test per il Problema 3 - filmPiùLungo
+ System.out.println("\n=== Test film più lungo ===");
+ Film filmPiuLungo = multisala.filmPiùLungo();
+ System.out.println("Il film più lungo è:\n" + filmPiuLungo);
+
+ // Test per il Problema 3 - percentualePostiOccupati
+ System.out.println("\n=== Test percentuale posti occupati ===");
+ System.out.println("Percentuale posti occupati per " + film2.getTitolo() + ":");
+ multisala.percentualePostiOccupati(film2);
+
+ // Test di equals nella classe Film
+ System.out.println("\n=== Test equals della classe Film ===");
+ System.out.println("film1.equals(film1Copy): " + film1.equals(film1Copy));
+ System.out.println("film1 == film1Copy: " + (film1 == film1Copy));
+ System.out.println("film1.equals(film2): " + film1.equals(film2));
+
+ // Test per il Problema 3 - rimuoviFilm
+ System.out.println("\n=== Test rimozione film ===");
+ multisala.rimuoviFilm(film1);
+ System.out.println("Dopo la rimozione di " + film1.getTitolo() + ":");
+ multisala.stampaProgrammazione();
}
}
\ No newline at end of file