Files
online-energieausweis/tests/verbrauchsausweis-wohnen/energieverbrauch.test.ts
2024-03-26 11:05:08 +07:00

39 lines
1.5 KiB
TypeScript

import { test, describe, expect } from "bun:test";
import { endEnergieVerbrauchVerbrauchsausweis_2016 } from "#lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016";
import { importVerbrauchsausweisWohnenAltesSystem, verbrauchsausweisWohnenImportTranslate } from "#lib/altes-system/import";
describe('Energieverbrauch', async () => {
const request = await importVerbrauchsausweisWohnenAltesSystem();
for (const ausweis of request.data) {
if (ausweis.ausweisart !== "VA" || !ausweis.objekt_plz) {
continue;
}
const ausweisNeu = verbrauchsausweisWohnenImportTranslate(ausweis);
const berechnungen = await endEnergieVerbrauchVerbrauchsausweis_2016(ausweisNeu);
const berechnungenAlt = ausweis.calculations;
let missingKlimafaktoren: boolean = false;
test("Klimafaktoren", async () => {
console.log("PLZ: " + ausweisNeu.gebaeude_aufnahme_allgemein.plz)
console.log("Startdatum: " + ausweisNeu.startdatum)
expect(berechnungen?.klimafaktoren).toHaveLength(3)
try {
expect(berechnungen?.klimafaktoren.map(x => x.klimafaktor)).toEqual(berechnungenAlt.klimafaktoren)
} catch(e) {
missingKlimafaktoren = true;
}
})
test.skipIf(missingKlimafaktoren)("Endenergieverbrauch", async () => {
expect(berechnungen?.endEnergieVerbrauchGesamt).toBeCloseTo(berechnungenAlt.endEnergieVerbrauchGesamt, 0)
})
test.skipIf(missingKlimafaktoren)("Primärenergieverbrauch", async () => {
expect(berechnungen?.primaerEnergieVerbrauchGesamt).toBeCloseTo(berechnungenAlt.primaerEnergieVerbrauchGesamt, 0)
})
}
})