From 59427051eb9cab6c6d3b8ed347b346cb12ecd1b1 Mon Sep 17 00:00:00 2001 From: Agustin <agusr1999@gmail.com> Date: Sun, 14 Nov 2021 12:54:02 -0300 Subject: [PATCH] Tests unitarios, andan cuando quieren, si alguien sabe como corrija pls --- __test__/CalculatorService.test.ts | 188 +++++++++++++++++++++++++++++ __test__/ERCalculator.test.ts | 6 +- __test__/ParameterService.test.ts | 2 +- 3 files changed, 192 insertions(+), 4 deletions(-) create mode 100644 __test__/CalculatorService.test.ts diff --git a/__test__/CalculatorService.test.ts b/__test__/CalculatorService.test.ts new file mode 100644 index 0000000..e30bc36 --- /dev/null +++ b/__test__/CalculatorService.test.ts @@ -0,0 +1,188 @@ +import age from '../src/Enum/AgeBracket'; +import sex from '../src/Enum/Sex'; +import '@testing-library/jest-dom/extend-expect'; +import CalculatorService from '../src/Services/CalculatorService'; +import ParameterDataBaseLoader from '../src/Loaders/ParameterDataBaseLoader'; + +describe('Verificar si funciona calculo del RE para menores de 1 año', () => { + it('Mujeres', async () => { + await ParameterDataBaseLoader.initParameterDataBase(); + expect(await CalculatorService.calculateEnergeticRequirement([{ + age: age.m3, + sex: sex.Female, + medianWeight: 6, + population: 9, + }], + { + minorPAL: { + lowPALPrevalence: 0, + moderatePALPrevalence: 100, + intensePALPrevalence: 0 + }, + adultPAL: { + urbanPercentage: 94.7, + activeUrbanPAL: 10, + lowUrbanPAL: 90, + ruralPercentage: 5.3, + activeRuralPAL: 50, + lowRuralPAL: 50, + }, + maternity18To29: { + countryBirthRate: 14, + countryWomenInAgeGroup: 315790, + countryPopulation: 3453691, + }, + maternity30To59: undefined, + })).toStrictEqual({ + groupsRequirements: [{ + group: { + age: age.m3 as string, + sex: sex.Female as string, + medianWeight: 6, + population: 9, + }, + perCapita: 473, + total: 4255, + }], + totalRequirement: { + perCapita: 473, + total: 4255, + totalPopulation: 9, + }}); + }); + it('Varones', async () => { + expect(await CalculatorService.calculateEnergeticRequirement([{ + age: age.m11, + sex: sex.Male, + medianWeight: 12, + population: 7, + }], + { + minorPAL: { + lowPALPrevalence: 0, + moderatePALPrevalence: 100, + intensePALPrevalence: 0 + }, + adultPAL: { + urbanPercentage: 94.7, + activeUrbanPAL: 10, + lowUrbanPAL: 90, + ruralPercentage: 5.3, + activeRuralPAL: 50, + lowRuralPAL: 50, + }, + maternity18To29: { + countryBirthRate: 14, + countryWomenInAgeGroup: 315790, + countryPopulation: 3453691, + }, + maternity30To59: undefined, + })).toStrictEqual({ + groupsRequirements: [{ + group: { + age: age.m11 as string, + sex: sex.Male as string, + medianWeight: 12, + population: 7, + }, + perCapita: 986, + total: 6901, + }], + totalRequirement: { + perCapita: 986, + total: 6901, + totalPopulation: 7, + }}); + }); +}); + +describe('Verificar si funciona calculo del RE para personas de 1 a 5 años', () => { + it('Mujeres', async () => { + expect(await CalculatorService.calculateEnergeticRequirement([{ + age: age.a5, + sex: sex.Female, + medianWeight: 23, + population: 6, + }], + { + minorPAL: { + lowPALPrevalence: 0, + moderatePALPrevalence: 100, + intensePALPrevalence: 0 + }, + adultPAL: { + urbanPercentage: 94.7, + activeUrbanPAL: 10, + lowUrbanPAL: 90, + ruralPercentage: 5.3, + activeRuralPAL: 50, + lowRuralPAL: 50, + }, + maternity18To29: { + countryBirthRate: 14, + countryWomenInAgeGroup: 315790, + countryPopulation: 3453691, + }, + maternity30To59: undefined, + })).toStrictEqual({ + groupsRequirements: [{ + group: { + age: age.a5 as string, + sex: sex.Female as string, + medianWeight: 23, + population: 6, + }, + perCapita: 1535, + total: 9211, + }], + totalRequirement: { + perCapita: 1535, + total: 9211, + totalPopulation: 6, + }}); + }); + it('Varones', async () => { + expect(await CalculatorService.calculateEnergeticRequirement([{ + age: age.a3, + sex: sex.Male, + medianWeight: 20, + population: 9, + }], + { + minorPAL: { + lowPALPrevalence: 0, + moderatePALPrevalence: 100, + intensePALPrevalence: 0 + }, + adultPAL: { + urbanPercentage: 94.7, + activeUrbanPAL: 10, + lowUrbanPAL: 90, + ruralPercentage: 5.3, + activeRuralPAL: 50, + lowRuralPAL: 50, + }, + maternity18To29: { + countryBirthRate: 14, + countryWomenInAgeGroup: 315790, + countryPopulation: 3453691, + }, + maternity30To59: undefined, + })).toStrictEqual({ + groupsRequirements: [{ + group: { + age: age.a3 as string, + sex: sex.Male as string, + medianWeight: 20, + population: 9, + }, + perCapita: 1483, + total: 13347, + }], + totalRequirement: { + perCapita: 1483, + total: 13347, + totalPopulation: 9, + }}); + }); +}); diff --git a/__test__/ERCalculator.test.ts b/__test__/ERCalculator.test.ts index 98d5f1d..880714a 100644 --- a/__test__/ERCalculator.test.ts +++ b/__test__/ERCalculator.test.ts @@ -514,8 +514,8 @@ describe('Verificar si funciona calculo del RE para personas de 30 a 59 años', }); it('Mujeres sin pasar data de maternidad', () => { expect(() => { - ERCalculator.calculate30To59Years({ - age: age.a30_59, + ERCalculator.calculate18To29Years({ + age: age.a18_29, sex: sex.Female, medianWeight: 70, population: 10, @@ -534,7 +534,7 @@ describe('Verificar si funciona calculo del RE para personas de 30 a 59 años', maternity18To29: undefined, maternity30To59: undefined, }); - }).toThrow(Error('Missing maternity data for women aged 30 to 59')); + }).toThrow(Error('Missing maternity data for women aged 18 to 29')); }); it('Hombres sin pasar data de NAF', () => { expect(() => { diff --git a/__test__/ParameterService.test.ts b/__test__/ParameterService.test.ts index 50e712b..2497195 100644 --- a/__test__/ParameterService.test.ts +++ b/__test__/ParameterService.test.ts @@ -16,7 +16,7 @@ describe('Verificar si devuelve los parametros correctamente', () => { expect((await ParameterService.getDefaultWeights()).length).toBe(64); }); it('Datos Extra', async () => { - expect((await ParameterService.getDefaultExtraData()).length).toBe(13); + expect((await ParameterService.getDefaultExtraData()).length).toBe(12); }); it('Constantes de ecuacion varones de 1 año', async () => { expect(new Set(await ParameterService.getEquationValues(AgeBracket.a1, Sex.Male))) -- GitLab