"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Schwerpunkt = exports.Schwerpunkt = void 0;
const Naturwissenschaften_1 = require("../../../../core/abschluss/gost/belegpruefung/Naturwissenschaften");
const Fremdsprachen_1 = require("../../../../core/abschluss/gost/belegpruefung/Fremdsprachen");
const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung");
const GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler");
class Schwerpunkt extends GostBelegpruefung_1.GostBelegpruefung {
    /**
     * Erstellt eine neue Belegprüfung für den Schwerpunkt.
     *
     * @param manager             der Daten-Manager für die Abiturdaten
     * @param pruefungs_art       die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
     * @param pruefung_sprachen   das Ergebnis für die Belegprüfung der Sprachen
     * @param pruefung_nawi       das Ergebnis für die Belegprüfung der Naturwissenschaften
     */
    constructor(manager, pruefungs_art, pruefung_sprachen, pruefung_nawi) {
        super(manager, pruefungs_art, pruefung_sprachen, pruefung_nawi);
    }
    init() {
    }
    pruefeEF1() {
        let pruefung_sprachen = ((0, Fremdsprachen_1.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Fremdsprachen)(this.pruefungen_vorher[0]));
        let pruefung_nawi = ((0, Naturwissenschaften_1.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften)(this.pruefungen_vorher[1]));
        if ((pruefung_sprachen.getAnzahlDurchgehendSchritflichBelegt() >= 2) && (pruefung_nawi.getAnzahlDurchgehendBelegt() >= 2) && (pruefung_nawi.getAnzahlDurchgehendSchritflichBelegt() >= 1))
            return;
        if (pruefung_sprachen.getAnzahlDurchgehendSchritflichBelegt() >= 2) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_FS_12_INFO);
            return;
        }
        if ((pruefung_nawi.getAnzahlDurchgehendBelegt() >= 2) && (pruefung_nawi.getAnzahlDurchgehendSchritflichBelegt() >= 1)) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_FS_13_INFO);
            return;
        }
        this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_FS_10);
    }
    pruefeGesamt() {
        let pruefung_sprachen = ((0, Fremdsprachen_1.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Fremdsprachen)(this.pruefungen_vorher[0]));
        let pruefung_nawi = ((0, Naturwissenschaften_1.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Naturwissenschaften)(this.pruefungen_vorher[1]));
        if ((pruefung_sprachen.getAnzahlDurchgehendSchritflichBelegt() >= 2) && (pruefung_nawi.getAnzahlDurchgehendBelegt() >= 2) && (pruefung_nawi.getAnzahlDurchgehendSchritflichBelegt() >= 1))
            return;
        if (pruefung_sprachen.getAnzahlDurchgehendSchritflichBelegt() >= 2) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_FS_12_INFO);
            return;
        }
        if ((pruefung_nawi.getAnzahlDurchgehendBelegt() >= 2) && (pruefung_nawi.getAnzahlDurchgehendSchritflichBelegt() >= 1)) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_FS_13_INFO);
            return;
        }
        this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.NW_FS_10);
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung', 'de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Schwerpunkt'].includes(name);
    }
}
exports.Schwerpunkt = Schwerpunkt;
function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Schwerpunkt(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Schwerpunkt = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Schwerpunkt;
//# sourceMappingURL=Schwerpunkt.js.map