UNPKG

@todo-esta-bien/numerodon

Version:

Library to calculate numeric values from names or dates

217 lines (189 loc) 6.52 kB
import { Base22Profile, IBase22ProfileConstructor } from "./base22"; type Base22ProfileTestCase = { original: IBase22ProfileConstructor; expected: Omit< Base22Profile, "day" | "month" | "year" | "base22SumOptions" | "numberReducer" | "reducedDay" | "reducedMonth" | "reducedYear" >; }; const base22TestCases: Base22ProfileTestCase[] = [ { original: { day: 2, month: 10, year: 1869, }, expected: { deepPersonality: 18, // PP emotionalKnot: 8, // NE emotionalSearch: 26, // QE internalSocialBehavior: 12, // CIS externalSocialBehavior: 16, // CES externalSocialPersonality: 10, // PES harmonySearch: 10, // RH spiritualSearch: 10, // QS resistanceNumber: 2, // NR emerge: 12, // RS painKnot: 4, // ND internalDefenseBehavior: 8, // CID externalDefenseBehavior: 4, // CED externalDefensePersonality: 4, // PED externalExitSearch: 14, // RE escapeNumber: 2, // NF firstSpiritualBaseA: 22, // 1A firstSpiritualBaseB: 22, // 1B firstSpiritualBaseC: 20, // 1C secondSpiritualBaseA: 44, // 2A secondSpiritualBaseB: 6, // 2B secondSpiritualBaseC: 6, // 2C thirdSpiritualBaseA: 14, // 3A }, }, { original: { day: 15, month: 7, year: 1970, }, expected: { deepPersonality: 12, // PP emotionalKnot: 5, // NE emotionalSearch: 17, // QE internalSocialBehavior: 22, // CIS externalSocialBehavior: 6, // CES externalSocialPersonality: 10, // PES harmonySearch: 22, // RH spiritualSearch: 19, // QS resistanceNumber: 5, // NR emerge: 15, // RS painKnot: 2, // ND internalDefenseBehavior: 8, // CID externalDefenseBehavior: 10, // CED externalDefensePersonality: 2, // PED externalExitSearch: 10, // RE escapeNumber: 3, // NF firstSpiritualBaseA: 7, // 1A firstSpiritualBaseB: 10, // 1B firstSpiritualBaseC: 5, // 1C secondSpiritualBaseA: 17, // 2A secondSpiritualBaseB: 12, // 2B secondSpiritualBaseC: 15, // 2C thirdSpiritualBaseA: 5, // 3A }, }, { original: { day: 13, month: 11, year: 1953, }, expected: { deepPersonality: 6, // PP emotionalKnot: 4, // NE emotionalSearch: 10, // QE internalSocialBehavior: 6, // CIS externalSocialBehavior: 11, // CES externalSocialPersonality: 17, // PES harmonySearch: 5, // RH spiritualSearch: 17, // QS resistanceNumber: 6, // NR emerge: 5, // RS painKnot: 5, // ND internalDefenseBehavior: 2, // CID externalDefenseBehavior: 7, // CED externalDefensePersonality: 5, // PED externalExitSearch: 1, // RE escapeNumber: 1, // NF firstSpiritualBaseA: 22, // 1A firstSpiritualBaseB: 10, // 1B firstSpiritualBaseC: 22, // 1C secondSpiritualBaseA: 5, // 2A secondSpiritualBaseB: 44, // 2B secondSpiritualBaseC: 5, // 2C thirdSpiritualBaseA: 10, // 3A }, }, { original: { day: 22, month: 11, year: 1967, }, expected: { deepPersonality: 11, // PP emotionalKnot: 9, // NE emotionalSearch: 20, // QE internalSocialBehavior: 33, // CIS externalSocialBehavior: 16, // CES externalSocialPersonality: 22, // PES harmonySearch: 33, // RH spiritualSearch: 22, // QS resistanceNumber: 6, // NR emerge: 10, // RS painKnot: 17, // ND internalDefenseBehavior: 11, // CID externalDefenseBehavior: 6, // CED externalDefensePersonality: 5, // PED externalExitSearch: 6, // RE escapeNumber: 1, // NF firstSpiritualBaseA: 5, // 1A firstSpiritualBaseB: 16, // 1B firstSpiritualBaseC: 10, // 1C secondSpiritualBaseA: 21, // 2A secondSpiritualBaseB: 15, // 2B secondSpiritualBaseC: 26, // 2C thirdSpiritualBaseA: 11, // 3A }, }, ]; describe("Base22Profile", () => { it.each(base22TestCases)("Base22Profile($original)", ({ original, expected }) => { // Act const profile = new Base22Profile(original); // Assert expect(profile.deepPersonality).toEqual(expected.deepPersonality); expect(profile.emotionalKnot).toEqual(expected.emotionalKnot); expect(profile.emotionalSearch).toEqual(expected.emotionalSearch); expect(profile.internalSocialBehavior).toEqual(expected.internalSocialBehavior); expect(profile.externalSocialBehavior).toEqual(expected.externalSocialBehavior); expect(profile.externalSocialPersonality).toEqual(expected.externalSocialPersonality); expect(profile.harmonySearch).toEqual(expected.harmonySearch); expect(profile.spiritualSearch).toEqual(expected.spiritualSearch); expect(profile.resistanceNumber).toEqual(expected.resistanceNumber); expect(profile.emerge).toEqual(expected.emerge); expect(profile.painKnot).toEqual(expected.painKnot); expect(profile.internalDefenseBehavior).toEqual(expected.internalDefenseBehavior); expect(profile.externalDefenseBehavior).toEqual(expected.externalDefenseBehavior); expect(profile.externalDefensePersonality).toEqual(expected.externalDefensePersonality); expect(profile.externalExitSearch).toEqual(expected.externalExitSearch); expect(profile.escapeNumber).toEqual(expected.escapeNumber); expect(profile.firstSpiritualBaseA).toEqual(expected.firstSpiritualBaseA); expect(profile.firstSpiritualBaseB).toEqual(expected.firstSpiritualBaseB); expect(profile.firstSpiritualBaseC).toEqual(expected.firstSpiritualBaseC); expect(profile.secondSpiritualBaseA).toEqual(expected.secondSpiritualBaseA); expect(profile.secondSpiritualBaseB).toEqual(expected.secondSpiritualBaseB); expect(profile.secondSpiritualBaseC).toEqual(expected.secondSpiritualBaseC); expect(profile.thirdSpiritualBaseA).toEqual(expected.thirdSpiritualBaseA); }); it.each([ { numbers: [22, 11, 5], expected: 6, }, { numbers: [2, 10, 6], expected: 2, }, { numbers: [6, 2, 10], expected: 2, }, ])("getResistanceNumber($numbers) == $expected", ({ numbers, expected }) => { // Arrange const profile = new Base22Profile({ day: 1, month: 1, year: 1 }); // Act const result = profile["getResistanceNumber"](numbers); // Assert expect(result).toEqual(expected); }); });