sgd-praktikum/SQL/TestProcedure.sql
2023-06-03 10:00:38 +00:00

75 lines
1.7 KiB
SQL

--Funktionstest mostValuableClerk:
BEGIN
--Test für die letzten 5 Monate:
DBMS_OUTPUT.PUT_LINE('Wertvollster Mitarbeiter:');
DBMS_OUTPUT.PUT_LINE(mostValuableClerk(5));
--Output: 2
END;
BEGIN
--Test für die letzten 12 Monate:
DBMS_OUTPUT.PUT_LINE('Wertvollster Mitarbeiter:');
DBMS_OUTPUT.PUT_LINE(mostValuableClerk(12));
--Output: 3
END;
BEGIN
--Test für die letzten 0 Monate (Fehler da keine Daten vorhanden/ 0 Monate nicht semantisch sinnvoll:
DBMS_OUTPUT.PUT_LINE('Wertvollster Mitarbeiter:');
DBMS_OUTPUT.PUT_LINE(mostValuableClerk(0));
--Output: ---
END;
--Prozedurtest getLastBookings:
DECLARE
ids bookingIds;
BEGIN
--Test für die letzten 7 Monate:
DBMS_OUTPUT.PUT_LINE('Letzten Buchungen:');
ids := getLastBookings(5);
FOR id IN ids.FIRST..ids.LAST
LOOP
DBMS_OUTPUT.PUT_LINE(id);
END LOOP;
--Output: 1-10
END;
DECLARE
ids bookingIds;
BEGIN
--Test für die letzten 9 Monate:
DBMS_OUTPUT.PUT_LINE('Letzten Buchungen:');
ids := getLastBookings(9);
FOR id IN ids.FIRST..ids.LAST
LOOP
DBMS_OUTPUT.PUT_LINE(id);
END LOOP;
--Output: 1-14
END;
--Prozedurtest rooms:
BEGIN
--Test für Client 10 und letzten 5 Monate:
DBMS_OUTPUT.PUT_LINE('Gebuchte Zimmer:');
rooms(10, 5);
--Output: 8+9+10
END;
BEGIN
--Test für Client 3 und letzten 8 Monate:
DBMS_OUTPUT.PUT_LINE('Gebuchte Zimmer:');
rooms(8, 8);
--Output: 5
END;
BEGIN
-- Fehler: Neuer Client hat keine Buchungen
INSERT INTO Person VALUES (555, 'Max', 'Müller', 28, 1);
INSERT INTO CLIENT VALUES (555, 17980641);
DBMS_OUTPUT.PUT_LINE('Gebuchte Zimmer:');
rooms(555, 8);
-- Output: none
END;