车轮跳花样评分

This commit is contained in:
马梓彭 2026-10-09 09:15:37 +08:00
parent 00f7da64e2
commit e5d32ddf59
3 changed files with 40 additions and 0 deletions

View File

@ -510,6 +510,9 @@ class ScoringController extends GetxController {
aliases: const {
'REQUIRED_N3_PLUS': EliteScoringRuleCatalog.requiredLevel3AndAbove,
'REQUIRED_N2_MINUS': EliteScoringRuleCatalog.requiredLevel2AndBelow,
'REQ_STRENGTH_GYMNASTICS': '力量体操',
'REQ_MULTIPLE_ROPE': '多摇',
'REQ_ROPE_MANIPULATION': '绳子运用',
'REQ_INTERACTION': '互动配合',
},
);

View File

@ -139,6 +139,11 @@ void main() {
expect(CompetitionRuleCalculator.requiredFromMissing(2, .05), .9);
});
test('车轮跳规定元素每类最多计4个且超额不能抵消缺失', () {
expect(CompetitionRuleCalculator.wheelRequiredMissing([4, 4, 4, 4]), 0);
expect(CompetitionRuleCalculator.wheelRequiredMissing([5, 3, 0, 4]), 5);
expect(CompetitionRuleCalculator.requiredFromMissing(5, .025), .875);
});
test('个人花样规定元素分别换算n3+和n2-', () {
expect(
CompetitionRuleCalculator.individualRequiredCompleted(

View File

@ -100,6 +100,38 @@ void main() {
);
});
test('车轮跳四类规定元素按稳定编码映射到平板控件', () {
const keys = ['力量体操', '多摇', '绳子运用', '互动配合'];
const aliases = {
'REQ_STRENGTH_GYMNASTICS': '力量体操',
'REQ_MULTIPLE_ROPE': '多摇',
'REQ_ROPE_MANIPULATION': '绳子运用',
'REQ_INTERACTION': '互动配合',
};
const serverItems = {
'REQ_STRENGTH_GYMNASTICS': '力量和体操',
'REQ_MULTIPLE_ROPE': '多摇',
'REQ_ROPE_MANIPULATION': '绳子运用',
'REQ_INTERACTION': '互动配合',
};
expect(
{
for (final item in serverItems.entries)
item.key: ScoreItemKeyMatcher.match(
keys,
'${item.value}${item.key}',
aliases: aliases,
),
},
{
'REQ_STRENGTH_GYMNASTICS': '力量体操',
'REQ_MULTIPLE_ROPE': '多摇',
'REQ_ROPE_MANIPULATION': '绳子运用',
'REQ_INTERACTION': '互动配合',
},
);
});
test('同步花样互动配合按稳定编码映射到主裁控件', () {
expect(
ScoreItemKeyMatcher.match(