"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Mathematik = exports.Mathematik = void 0;
const GostFachbereich_1 = require("../../../../core/types/gost/GostFachbereich");
const GostSchriftlichkeit_1 = require("../../../../core/types/gost/GostSchriftlichkeit");
const GostHalbjahr_1 = require("../../../../core/types/gost/GostHalbjahr");
const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung");
const GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler");
class Mathematik extends GostBelegpruefung_1.GostBelegpruefung {
    mathematik = null;
    /**
     * Erstellt eine neue Belegprüfung für das Fach Mathematik.
     *
     * @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)
     */
    constructor(manager, pruefungs_art) {
        super(manager, pruefungs_art);
    }
    init() {
        this.mathematik = this.manager.getFachbelegung(GostFachbereich_1.GostFachbereich.MATHEMATIK);
    }
    pruefeEF1() {
        if ((this.mathematik === null) || !this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(this.mathematik, GostSchriftlichkeit_1.GostSchriftlichkeit.BELIEBIG, GostHalbjahr_1.GostHalbjahr.EF1)) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.M_10);
            return;
        }
        if (!this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(this.mathematik, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1))
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.M_11);
    }
    pruefeGesamt() {
        if (this.mathematik === null) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.M_10);
            return;
        }
        if (!this.manager.pruefeBelegung(this.mathematik, GostHalbjahr_1.GostHalbjahr.EF1, GostHalbjahr_1.GostHalbjahr.EF2, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21, GostHalbjahr_1.GostHalbjahr.Q22))
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.M_10);
        if (!this.manager.pruefeBelegungMitSchriftlichkeit(this.mathematik, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1, GostHalbjahr_1.GostHalbjahr.EF2, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21))
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.M_11);
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Mathematik', 'de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung'].includes(name);
    }
}
exports.Mathematik = Mathematik;
function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Mathematik(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Mathematik = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Mathematik;
//# sourceMappingURL=Mathematik.js.map