step-sequence-generator
Version:
A step sequence generator for figure skating programs
96 lines (95 loc) • 4.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const CompassArc_1 = require("./CompassArc");
const movement_enums_1 = require("../../shared/enums/movement-enums");
(0, vitest_1.describe)('CompassArc', () => {
let compass;
(0, vitest_1.beforeEach)(() => {
compass = new CompassArc_1.CompassArc();
});
(0, vitest_1.describe)('implementation', () => {
(0, vitest_1.it)('должен корректно создаваться', () => {
(0, vitest_1.expect)(compass).toBeDefined();
});
});
(0, vitest_1.describe)('calcArcVectorIndexUntyped', () => {
(0, vitest_1.describe)('должен вернуть 1', () => {
const mockDataList = [
{
leg: movement_enums_1.Leg.RIGHT,
edge: movement_enums_1.Edge.OUTER,
transitionDirection: movement_enums_1.TransitionDirection.FORWARD,
},
{
leg: movement_enums_1.Leg.LEFT,
edge: movement_enums_1.Edge.INNER,
transitionDirection: movement_enums_1.TransitionDirection.FORWARD,
},
{
leg: movement_enums_1.Leg.RIGHT,
edge: movement_enums_1.Edge.INNER,
transitionDirection: movement_enums_1.TransitionDirection.BACKWARD,
},
{
leg: movement_enums_1.Leg.LEFT,
edge: movement_enums_1.Edge.OUTER,
transitionDirection: movement_enums_1.TransitionDirection.BACKWARD,
},
];
vitest_1.it.each(mockDataList)('при %s должен вернуть 1', (mockData) => {
// eslint-disable-next-line
const compassAny = compass;
const expected = 1;
const result = compassAny['calcStepPoints'](mockData);
(0, vitest_1.expect)(result).toEqual(expected);
});
});
(0, vitest_1.describe)('должен вернуть -1', () => {
const mockDataList = [
{
leg: movement_enums_1.Leg.RIGHT,
edge: movement_enums_1.Edge.INNER,
transitionDirection: movement_enums_1.TransitionDirection.FORWARD,
},
{
leg: movement_enums_1.Leg.LEFT,
edge: movement_enums_1.Edge.OUTER,
transitionDirection: movement_enums_1.TransitionDirection.FORWARD,
},
{
leg: movement_enums_1.Leg.RIGHT,
edge: movement_enums_1.Edge.OUTER,
transitionDirection: movement_enums_1.TransitionDirection.BACKWARD,
},
{
leg: movement_enums_1.Leg.LEFT,
edge: movement_enums_1.Edge.INNER,
transitionDirection: movement_enums_1.TransitionDirection.BACKWARD,
},
];
vitest_1.it.each(mockDataList)('при %s должен вернуть -1', (mockData) => {
// eslint-disable-next-line
const compassAny = compass;
const expected = -1;
const result = compassAny['calcStepPoints'](mockData);
(0, vitest_1.expect)(result).toEqual(expected);
});
});
});
(0, vitest_1.describe)('typifyToArcVectorIndex', () => {
const mockDataList = [-1, 0, 1];
vitest_1.it.each(mockDataList)(`при %s должен вернуть тоже число`, (mockData) => {
// eslint-disable-next-line
const compassAny = compass;
const expected = mockData;
const result = compassAny.typifyToArcVectorIndex(mockData);
(0, vitest_1.expect)(result).toEqual(expected);
});
(0, vitest_1.it)('должен выбросить ошибку', () => {
const compassAny = compass;
const mockData = 5;
(0, vitest_1.expect)(() => compassAny.typifyToArcVectorIndex(mockData)).toThrowError('Unsupported step direction index');
});
});
});