UNPKG

@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
"use strict"; 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'); }); });