package Parkhaus;

import static org.junit.jupiter.api.Assertions.*;

import java.text.SimpleDateFormat;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

class Allgemeine_Test {
	
	private Parkhaus system;
    private SimpleDateFormat sdf;
	
	@BeforeEach
	void setUp() throws Exception {
		system = new Parkhaus();
		sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
	}

	@Test
	void test_Parkhaus() throws Exception {
		String kennzeichen = "MA-SH 4077";
		String einfahrt = "01.10.2024, 14:30";
		String ausfahrt = "01.10.2024, 14:50";
		String GueltigeVISAKartennummer =  "4509472140549006";     
		
		// Einfahren: True => Beide assertTrue Tests.
		String einfahren = system.einfahren(kennzeichen, einfahrt);
		assertTrue(einfahren.contains(kennzeichen));
		assertTrue(einfahren.contains(einfahrt));
		assertEquals(179,system.getMaxPlaetze());
		
		// Parkgebühren berechnen: True => da nur eine Stunde
		double betrag = system.berechneParkgebuehren(kennzeichen, ausfahrt);
		assertEquals(1,betrag);
		
			//Parkgebühren sofort Bezahlen mit Visa-karte: True => Beide assertTrue Tests.
			assertTrue(system.checkVisakarteNummer(GueltigeVISAKartennummer));
			assertTrue(system.setBezahlt(kennzeichen));
			
		// Ausfahren: True => Beide assertTrue Tests.
		assertTrue(system.ausfahren(kennzeichen, ausfahrt));
		assertEquals(180,system.getMaxPlaetze());
	}

}
