step-sequence-generator
Version:
A step sequence generator for figure skating programs
50 lines (49 loc) • 2.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const WeightCalculator_1 = require("../WeightCalculator");
(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)('calcItemWeight', () => {
const methodList = ['calcDesireItemAmount', 'calcWeight'];
vitest_1.it.each(methodList)('должен вызвать метод %s', (method) => {
const spyMethod = vitest_1.vi.spyOn(weightCalcAny, method);
weightCalcAny.calcItemWeight({
currentItemAmount: 12,
desirePercent: 75,
totalItems: 12,
});
(0, vitest_1.expect)(spyMethod).toHaveBeenCalled();
});
});
(0, vitest_1.describe)('calcDesireItemAmount', () => {
(0, vitest_1.it)('должен вернуть количество элементов на основе желаемого процента от общего числа', () => {
const mockTotalItems = 12;
const mockDesirePercent = 75;
const expected = 9;
const result = weightCalcAny.calcDesireItemAmount(mockTotalItems, mockDesirePercent);
(0, vitest_1.expect)(result).toEqual(expected);
});
});
(0, vitest_1.describe)('calcWeight', () => {
(0, vitest_1.it)('должен вернуть вес одного элемента (частное)', () => {
const mockCurrentItemAmount = 12;
const mockDesireItemAmount = 9;
const expected = 0.75;
const result = weightCalcAny.calcWeight(mockCurrentItemAmount, mockDesireItemAmount);
(0, vitest_1.expect)(result).toEqual(expected);
});
});
});