@sports-alliance/sports-lib
Version:
A Library to for importing / exporting and processing GPX, TCX, FIT and JSON files from services such as Strava, Movescount, Garmin, Polar etc
82 lines (81 loc) • 7.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const data_store_1 = require("./data.store");
const data_ground_contact_time_1 = require("./data.ground-contact-time");
const data_ground_contact_time_avg_1 = require("./data.ground-contact-time-avg");
const data_ground_contact_time_min_1 = require("./data.ground-contact-time-min");
const data_ground_contact_time_max_1 = require("./data.ground-contact-time-max");
const data_avg_respiration_rate_1 = require("./data.avg-respiration-rate");
const data_max_respiration_rate_1 = require("./data.max-respiration-rate");
const data_min_respiration_rate_1 = require("./data.min-respiration-rate");
const data_avg_vam_1 = require("./data.avg-vam");
const data_avg_flow_1 = require("./data.avg-flow");
const data_avg_grit_1 = require("./data.avg-grit");
const data_avg_stroke_distance_1 = require("./data.avg-stroke-distance");
const data_avg_stroke_count_1 = require("./data.avg-stroke-count");
const data_avg_stride_length_1 = require("./data.avg-stride-length");
const data_max_hr_setting_1 = require("./data.max-hr-setting");
const data_power_balance_left_1 = require("./data.power-balance-left");
const data_power_balance_right_1 = require("./data.power-balance-right");
const data_jump_stats_1 = require("./data.jump-stats");
describe('Data naming canonicalization compatibility', () => {
const renamedTypes = [
{ cls: data_ground_contact_time_avg_1.DataGroundContactTimeAvg, canonical: 'Average Ground Contact Time', legacy: 'Ground Contact Time Avg' },
{ cls: data_ground_contact_time_min_1.DataGroundContactTimeMin, canonical: 'Minimum Ground Contact Time', legacy: 'Ground Contact Time Min' },
{ cls: data_ground_contact_time_max_1.DataGroundContactTimeMax, canonical: 'Maximum Ground Contact Time', legacy: 'Ground Contact Time Max' },
{ cls: data_avg_respiration_rate_1.DataAvgRespirationRate, canonical: 'Average Respiration Rate', legacy: 'Avg Respiration Rate' },
{ cls: data_min_respiration_rate_1.DataMinRespirationRate, canonical: 'Minimum Respiration Rate', legacy: 'Min Respiration Rate' },
{ cls: data_max_respiration_rate_1.DataMaxRespirationRate, canonical: 'Maximum Respiration Rate', legacy: 'Max Respiration Rate' },
{ cls: data_avg_vam_1.DataAvgVAM, canonical: 'Average VAM', legacy: 'Avg VAM' },
{ cls: data_avg_flow_1.DataAvgFlow, canonical: 'Average Flow', legacy: 'Avg Flow' },
{ cls: data_avg_grit_1.DataAvgGrit, canonical: 'Average Grit', legacy: 'Avg Grit' },
{ cls: data_avg_stroke_distance_1.DataAvgStrokeDistance, canonical: 'Average Stroke Distance', legacy: 'Avg Stroke Distance' },
{ cls: data_avg_stroke_count_1.DataAvgStrokeCount, canonical: 'Average Stroke Count', legacy: 'Avg Stroke Count' },
{ cls: data_avg_stride_length_1.DataAvgStrideLength, canonical: 'Average Stride Length', legacy: 'Avg Stride Length' },
{ cls: data_max_hr_setting_1.DataMaxHRSetting, canonical: 'Maximum HR Setting', legacy: 'Max HR Setting' },
{ cls: data_power_balance_left_1.DataPowerBalanceLeft, canonical: 'Power Balance Left', legacy: 'Left Balance' },
{ cls: data_power_balance_right_1.DataPowerBalanceRight, canonical: 'Power Balance Right', legacy: 'Right Balance' },
{ cls: data_jump_stats_1.DataJumpHangTimeAvg, canonical: 'Average Jump Hang Time', legacy: 'Jump Hang Time Avg' },
{ cls: data_jump_stats_1.DataJumpHangTimeMin, canonical: 'Minimum Jump Hang Time', legacy: 'Jump Hang Time Min' },
{ cls: data_jump_stats_1.DataJumpHangTimeMax, canonical: 'Maximum Jump Hang Time', legacy: 'Jump Hang Time Max' },
{ cls: data_jump_stats_1.DataJumpDistanceAvg, canonical: 'Average Jump Distance', legacy: 'Jump Distance Avg' },
{ cls: data_jump_stats_1.DataJumpDistanceMin, canonical: 'Minimum Jump Distance', legacy: 'Jump Distance Min' },
{ cls: data_jump_stats_1.DataJumpDistanceMax, canonical: 'Maximum Jump Distance', legacy: 'Jump Distance Max' },
{ cls: data_jump_stats_1.DataJumpSpeedAvg, canonical: 'Average Jump Speed', legacy: 'Jump Speed Avg' },
{ cls: data_jump_stats_1.DataJumpSpeedMin, canonical: 'Minimum Jump Speed', legacy: 'Jump Speed Min' },
{ cls: data_jump_stats_1.DataJumpSpeedMax, canonical: 'Maximum Jump Speed', legacy: 'Jump Speed Max' },
{ cls: data_jump_stats_1.DataJumpRotationsAvg, canonical: 'Average Jump Rotations', legacy: 'Jump Rotations Avg' },
{ cls: data_jump_stats_1.DataJumpRotationsMin, canonical: 'Minimum Jump Rotations', legacy: 'Jump Rotations Min' },
{ cls: data_jump_stats_1.DataJumpRotationsMax, canonical: 'Maximum Jump Rotations', legacy: 'Jump Rotations Max' },
{ cls: data_jump_stats_1.DataJumpScoreAvg, canonical: 'Average Jump Score', legacy: 'Jump Score Avg' },
{ cls: data_jump_stats_1.DataJumpScoreMin, canonical: 'Minimum Jump Score', legacy: 'Jump Score Min' },
{ cls: data_jump_stats_1.DataJumpScoreMax, canonical: 'Maximum Jump Score', legacy: 'Jump Score Max' },
{ cls: data_jump_stats_1.DataJumpHeightAvg, canonical: 'Average Jump Height', legacy: 'Jump Height Avg' },
{ cls: data_jump_stats_1.DataJumpHeightMin, canonical: 'Minimum Jump Height', legacy: 'Jump Height Min' },
{ cls: data_jump_stats_1.DataJumpHeightMax, canonical: 'Maximum Jump Height', legacy: 'Jump Height Max' }
];
it('keeps canonical names and legacy aliases for all renamed types', () => {
renamedTypes.forEach(({ cls, canonical, legacy }) => {
expect(cls.type).toBe(canonical);
expect(Array.isArray(cls.aliases)).toBe(true);
expect(cls.aliases).toContain(legacy);
});
});
it('resolves both canonical and legacy names to the same classes', () => {
renamedTypes.forEach(({ cls, canonical, legacy }) => {
expect(data_store_1.DynamicDataLoader.getDataClassFromDataType(canonical)).toBe(cls);
expect(data_store_1.DynamicDataLoader.getDataClassFromDataType(legacy)).toBe(cls);
});
});
it('creates canonical instances from both canonical and legacy names', () => {
renamedTypes.forEach(({ canonical, legacy }) => {
expect(data_store_1.DynamicDataLoader.getDataInstanceFromDataType(canonical, 1).getType()).toBe(canonical);
expect(data_store_1.DynamicDataLoader.getDataInstanceFromDataType(legacy, 1).getType()).toBe(canonical);
});
});
it('maps Ground Contact Time family to canonical names', () => {
expect(data_store_1.DynamicDataLoader.dataTypeAvgDataType[data_ground_contact_time_1.DataGroundContactTime.type]).toBe('Average Ground Contact Time');
expect(data_store_1.DynamicDataLoader.dataTypeMinDataType[data_ground_contact_time_1.DataGroundContactTime.type]).toBe('Minimum Ground Contact Time');
expect(data_store_1.DynamicDataLoader.dataTypeMaxDataType[data_ground_contact_time_1.DataGroundContactTime.type]).toBe('Maximum Ground Contact Time');
});
});