UNPKG

step-sequence-generator

Version:

A step sequence generator for figure skating programs

68 lines (67 loc) 2.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const vector_key_enum_1 = require("../../../../shared/enums/vector-key.enum"); const WeightCalculator_1 = require("../WeightCalculator"); const extractors_1 = require("../extractors"); const mockChanceRatioMap = new Map([ [vector_key_enum_1.VectorKey.NORTH, 12], [vector_key_enum_1.VectorKey.NORTH_EAST, 12], [vector_key_enum_1.VectorKey.EAST, 22], [vector_key_enum_1.VectorKey.SOUTH_EAST, 32], [vector_key_enum_1.VectorKey.SOUTH, 22], ]); const mockSelection = [ vector_key_enum_1.VectorKey.NORTH, vector_key_enum_1.VectorKey.NORTH_EAST, vector_key_enum_1.VectorKey.EAST, vector_key_enum_1.VectorKey.SOUTH_EAST, vector_key_enum_1.VectorKey.SOUTH, ]; (0, vitest_1.describe)('WeightCalculator', () => { let weightCalc; // eslint-disable-next-line let weightCalcAny; (0, vitest_1.beforeEach)(() => { weightCalc = new WeightCalculator_1.WeightCalculator(); // eslint-disable-next-line weightCalcAny = weightCalc; }); (0, vitest_1.describe)('implementation', () => { (0, vitest_1.it)('должен корректно создаваться', () => { (0, vitest_1.expect)(weightCalc).toBeDefined(); }); }); (0, vitest_1.describe)('calcWeights', () => { (0, vitest_1.it)('должен вернуть Map с корректными весами', () => { const mockGroupItemCounted = new Map([ [vector_key_enum_1.VectorKey.NORTH, 1], [vector_key_enum_1.VectorKey.NORTH_EAST, 1], [vector_key_enum_1.VectorKey.EAST, 1], [vector_key_enum_1.VectorKey.SOUTH_EAST, 1], [vector_key_enum_1.VectorKey.SOUTH, 1], ]); const expected = new Map([ [vector_key_enum_1.VectorKey.NORTH, 0.6], [vector_key_enum_1.VectorKey.NORTH_EAST, 0.6], [vector_key_enum_1.VectorKey.EAST, 1.1], [vector_key_enum_1.VectorKey.SOUTH_EAST, 1.6], [vector_key_enum_1.VectorKey.SOUTH, 1.1], ]); const result = weightCalcAny.calcWeights(mockGroupItemCounted, mockChanceRatioMap); (0, vitest_1.expect)(result).toStrictEqual(expected); }); }); (0, vitest_1.describe)('groupAndCountItems', () => { (0, vitest_1.it)('should ', () => { const mockSelection = [ vector_key_enum_1.VectorKey.NORTH, vector_key_enum_1.VectorKey.NORTH_EAST, vector_key_enum_1.VectorKey.EAST, vector_key_enum_1.VectorKey.SOUTH_EAST, vector_key_enum_1.VectorKey.SOUTH, ]; weightCalcAny.groupAndCountItems(mockSelection, extractors_1.vectorKeyKeyExtractor); }); }); });