step-sequence-generator
Version:
A step sequence generator for figure skating programs
68 lines (67 loc) • 2.92 kB
JavaScript
;
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);
});
});
});