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) }) } })