step-sequence-generator
Version:
A step sequence generator for figure skating programs
35 lines (34 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const MovementLibrary_1 = require("../../movement/MovementLibrary");
const movement_enums_1 = require("../../../shared/enums/movement-enums");
const DifficultTurnsFilterStrategy_1 = require("./DifficultTurnsFilterStrategy");
const mockMovements = [
{ isDifficult: true, type: movement_enums_1.MovementCharacter.TURN, name: 'difficultTurn1' },
{ isDifficult: true, type: movement_enums_1.MovementCharacter.TURN, name: 'difficultTurn2' },
{ isDifficult: true, type: movement_enums_1.MovementCharacter.STEP, name: 'difficultTurn2' },
{ isDifficult: false, type: movement_enums_1.MovementCharacter.STEP, name: 'difficultTurn2' },
];
const mockLibrary = new MovementLibrary_1.MovementLibrary(mockMovements);
(0, vitest_1.describe)('DifficultTurnsFilterStrategy', () => {
let strategy;
(0, vitest_1.beforeEach)(() => {
strategy = new DifficultTurnsFilterStrategy_1.DifficultTurnsFilterStrategy();
});
(0, vitest_1.describe)('implementation', () => {
(0, vitest_1.it)('должен корректно создаваться', () => {
(0, vitest_1.expect)(strategy).toBeDefined();
});
});
(0, vitest_1.describe)('filter', () => {
(0, vitest_1.it)('должен отфильтровать только сложные повороты', () => {
const result = strategy.filter(mockLibrary);
const expected = new MovementLibrary_1.MovementLibrary([
{ isDifficult: true, type: movement_enums_1.MovementCharacter.TURN, name: 'difficultTurn1' },
{ isDifficult: true, type: movement_enums_1.MovementCharacter.TURN, name: 'difficultTurn2' },
]);
(0, vitest_1.expect)(result).toStrictEqual(expected);
});
});
});