Skip to content

Commit 33f15c6

Browse files
committed
:docs: Improve AOJ PCK and JAG contest labels (#1526)
1 parent bbd3731 commit 33f15c6

File tree

3 files changed

+74
-68
lines changed

3 files changed

+74
-68
lines changed

src/lib/utils/contest.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,6 @@ const JAG_TRANSLATIONS = {
386386
Regional: ' 模擬地区 ',
387387
};
388388

389-
const aojBaseLabel = 'AOJ - ';
390-
391389
function getAojChallengeLabel(
392390
translations: Readonly<ContestLabelTranslations>,
393391
contestId: string,
@@ -398,11 +396,19 @@ function getAojChallengeLabel(
398396
label = label.replace(abbrEnglish, japanese);
399397
});
400398

401-
return aojBaseLabel + '(' + label + ')';
399+
return '(' + label + ')';
402400
}
403401

404402
export const addContestNameToTaskIndex = (contestId: string, taskTableIndex: string): string => {
405403
const contestName = getContestNameLabel(contestId);
406404

405+
if (isAojContest(contestId)) {
406+
return `AOJ ${taskTableIndex}${contestName}`;
407+
}
408+
407409
return `${contestName} - ${taskTableIndex}`;
408410
};
411+
412+
function isAojContest(contestId: string): boolean {
413+
return contestId.startsWith('PCK') || contestId.startsWith('JAG');
414+
}

src/test/lib/utils/test_cases/contest_name_and_task_index.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -383,37 +383,37 @@ export const aojCourses = Object.entries(AOJ_COURSES_TEST_DATA).flatMap(([contes
383383
* Format: {round}{year} - {problemId}
384384
*/
385385
const AOJ_PCK_TEST_DATA = {
386-
Prelim2023: {
387-
contestId: 'Prelim2023',
388-
tasks: ['4012', '4013', '4022'],
389-
},
390-
Prelim2022: {
391-
contestId: 'Prelim2022',
392-
tasks: ['0479', '0489'],
386+
Prelim2004: {
387+
contestId: 'Prelim2004',
388+
tasks: ['0027', '0043'],
393389
},
394390
Prelim2005: {
395391
contestId: 'Prelim2005',
396392
tasks: ['0073', '0092'],
397393
},
398-
Prelim2004: {
399-
contestId: 'Prelim2004',
400-
tasks: ['0027', '0043'],
394+
Prelim2022: {
395+
contestId: 'Prelim2022',
396+
tasks: ['0479', '0489'],
401397
},
402-
Final2023: {
403-
contestId: 'Final2023',
404-
tasks: ['4023', '4035'],
398+
Prelim2023: {
399+
contestId: 'Prelim2023',
400+
tasks: ['4012', '4013', '4022'],
405401
},
406-
Final2022: {
407-
contestId: 'Final2022',
408-
tasks: ['4000', '4011'],
402+
Final2003: {
403+
contestId: 'Final2003',
404+
tasks: ['0000', '0098'],
409405
},
410406
Final2004: {
411407
contestId: 'Final2004',
412408
tasks: ['0044', '0097'],
413409
},
414-
Final2003: {
415-
contestId: 'Final2003',
416-
tasks: ['0000', '0098'],
410+
Final2022: {
411+
contestId: 'Final2022',
412+
tasks: ['4000', '4011'],
413+
},
414+
Final2023: {
415+
contestId: 'Final2023',
416+
tasks: ['4023', '4035'],
417417
},
418418
};
419419

@@ -432,7 +432,7 @@ const generateAojPckTestCases = (
432432
)({
433433
contestId: `PCK${contestId}`,
434434
taskTableIndex: taskIndex,
435-
expected: `AOJ - (パソコン甲子園${contestId.replace('Prelim', ' 予選 ').replace('Final', ' 本選 ')} - ${taskIndex}`,
435+
expected: `AOJ ${taskIndex}(パソコン甲子園${contestId.replace('Prelim', ' 予選 ').replace('Final', ' 本選 ')})`,
436436
});
437437

438438
return testCase;
@@ -534,7 +534,7 @@ const generateAojJagTestCases = (contestIds: JagContestIds, taskIndices: string[
534534
taskIndices,
535535
(contestId, taskIndex) => `AOJ, JAG${contestId} - ${taskIndex}`,
536536
(contestId, taskIndex) =>
537-
`AOJ - (JAG${contestId.replace('Prelim', ' 模擬国内 ').replace('Regional', ' 模擬地区 ')} - ${taskIndex}`,
537+
`AOJ ${taskIndex}(JAG${contestId.replace('Prelim', ' 模擬国内 ').replace('Regional', ' 模擬地区 ')})`,
538538
);
539539

540540
export const aojJag = Object.entries(AOJ_JAG_TEST_DATA).flatMap(([contestId, tasks]) =>

src/test/lib/utils/test_cases/contest_name_labels.ts

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -332,123 +332,123 @@ export const aojCourses = [
332332
];
333333

334334
export const aojPck = [
335-
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2023')({
336-
contestId: 'PCKPrelim2023',
337-
expected: 'AOJ - (パソコン甲子園 予選 2023)',
338-
}),
339-
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2022')({
340-
contestId: 'PCKPrelim2022',
341-
expected: 'AOJ - (パソコン甲子園 予選 2022)',
335+
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2004')({
336+
contestId: 'PCKPrelim2004',
337+
expected: '(パソコン甲子園 予選 2004)',
342338
}),
343339
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2005')({
344340
contestId: 'PCKPrelim2005',
345-
expected: 'AOJ - (パソコン甲子園 予選 2005)',
341+
expected: '(パソコン甲子園 予選 2005)',
346342
}),
347-
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2004')({
348-
contestId: 'PCKPrelim2004',
349-
expected: 'AOJ - (パソコン甲子園 予選 2004)',
343+
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2022')({
344+
contestId: 'PCKPrelim2022',
345+
expected: '(パソコン甲子園 予選 2022)',
350346
}),
351-
createTestCaseForContestNameLabel('AOJ, PCK Final 2023')({
352-
contestId: 'PCKFinal2023',
353-
expected: 'AOJ - (パソコン甲子園 本選 2023)',
347+
createTestCaseForContestNameLabel('AOJ, PCK Prelim 2023')({
348+
contestId: 'PCKPrelim2023',
349+
expected: '(パソコン甲子園 予選 2023)',
354350
}),
355-
createTestCaseForContestNameLabel('AOJ, PCK Final 2022')({
356-
contestId: 'PCKFinal2022',
357-
expected: 'AOJ - (パソコン甲子園 本選 2022)',
351+
createTestCaseForContestNameLabel('AOJ, PCK Final 2003')({
352+
contestId: 'PCKFinal2003',
353+
expected: '(パソコン甲子園 本選 2003)',
354+
}),
355+
createTestCaseForContestNameLabel('AOJ, PCK Final 2004')({
356+
contestId: 'PCKFinal2004',
357+
expected: '(パソコン甲子園 本選 2004)',
358358
}),
359359
createTestCaseForContestNameLabel('AOJ, PCK Final 2021')({
360360
contestId: 'PCKFinal2021',
361-
expected: 'AOJ - (パソコン甲子園 本選 2021)',
361+
expected: '(パソコン甲子園 本選 2021)',
362362
}),
363-
createTestCaseForContestNameLabel('AOJ, PCK Final 2004')({
364-
contestId: 'PCKFinal2004',
365-
expected: 'AOJ - (パソコン甲子園 本選 2004)',
363+
createTestCaseForContestNameLabel('AOJ, PCK Final 2022')({
364+
contestId: 'PCKFinal2022',
365+
expected: '(パソコン甲子園 本選 2022)',
366366
}),
367-
createTestCaseForContestNameLabel('AOJ, PCK Final 2003')({
368-
contestId: 'PCKFinal2003',
369-
expected: 'AOJ - (パソコン甲子園 本選 2003)',
367+
createTestCaseForContestNameLabel('AOJ, PCK Final 2023')({
368+
contestId: 'PCKFinal2023',
369+
expected: '(パソコン甲子園 本選 2023)',
370370
}),
371371
];
372372

373373
export const aojJag = [
374374
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2005')({
375375
contestId: 'JAGPrelim2005',
376-
expected: 'AOJ - (JAG 模擬国内 2005)',
376+
expected: '(JAG 模擬国内 2005)',
377377
}),
378378
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2006')({
379379
contestId: 'JAGPrelim2006',
380-
expected: 'AOJ - (JAG 模擬国内 2006)',
380+
expected: '(JAG 模擬国内 2006)',
381381
}),
382382
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2009')({
383383
contestId: 'JAGPrelim2009',
384-
expected: 'AOJ - (JAG 模擬国内 2009)',
384+
expected: '(JAG 模擬国内 2009)',
385385
}),
386386
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2010')({
387387
contestId: 'JAGPrelim2010',
388-
expected: 'AOJ - (JAG 模擬国内 2010)',
388+
expected: '(JAG 模擬国内 2010)',
389389
}),
390390
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2011')({
391391
contestId: 'JAGPrelim2011',
392-
expected: 'AOJ - (JAG 模擬国内 2011)',
392+
expected: '(JAG 模擬国内 2011)',
393393
}),
394394
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2020')({
395395
contestId: 'JAGPrelim2020',
396-
expected: 'AOJ - (JAG 模擬国内 2020)',
396+
expected: '(JAG 模擬国内 2020)',
397397
}),
398398
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2021')({
399399
contestId: 'JAGPrelim2021',
400-
expected: 'AOJ - (JAG 模擬国内 2021)',
400+
expected: '(JAG 模擬国内 2021)',
401401
}),
402402
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2022')({
403403
contestId: 'JAGPrelim2022',
404-
expected: 'AOJ - (JAG 模擬国内 2022)',
404+
expected: '(JAG 模擬国内 2022)',
405405
}),
406406
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2023')({
407407
contestId: 'JAGPrelim2023',
408-
expected: 'AOJ - (JAG 模擬国内 2023)',
408+
expected: '(JAG 模擬国内 2023)',
409409
}),
410410
createTestCaseForContestNameLabel('AOJ, JAG Prelim 2024')({
411411
contestId: 'JAGPrelim2024',
412-
expected: 'AOJ - (JAG 模擬国内 2024)',
412+
expected: '(JAG 模擬国内 2024)',
413413
}),
414414
createTestCaseForContestNameLabel('AOJ, JAG Regional 2005')({
415415
contestId: 'JAGRegional2005',
416-
expected: 'AOJ - (JAG 模擬地区 2005)',
416+
expected: '(JAG 模擬地区 2005)',
417417
}),
418418
createTestCaseForContestNameLabel('AOJ, JAG Regional 2006')({
419419
contestId: 'JAGRegional2006',
420-
expected: 'AOJ - (JAG 模擬地区 2006)',
420+
expected: '(JAG 模擬地区 2006)',
421421
}),
422422
createTestCaseForContestNameLabel('AOJ, JAG Regional 2009')({
423423
contestId: 'JAGRegional2009',
424-
expected: 'AOJ - (JAG 模擬地区 2009)',
424+
expected: '(JAG 模擬地区 2009)',
425425
}),
426426
createTestCaseForContestNameLabel('AOJ, JAG Regional 2010')({
427427
contestId: 'JAGRegional2010',
428-
expected: 'AOJ - (JAG 模擬地区 2010)',
428+
expected: '(JAG 模擬地区 2010)',
429429
}),
430430
createTestCaseForContestNameLabel('AOJ, JAG Regional 2011')({
431431
contestId: 'JAGRegional2011',
432-
expected: 'AOJ - (JAG 模擬地区 2011)',
432+
expected: '(JAG 模擬地区 2011)',
433433
}),
434434
createTestCaseForContestNameLabel('AOJ, JAG Regional 2016')({
435435
contestId: 'JAGRegional2016',
436-
expected: 'AOJ - (JAG 模擬地区 2016)',
436+
expected: '(JAG 模擬地区 2016)',
437437
}),
438438
createTestCaseForContestNameLabel('AOJ, JAG Regional 2017')({
439439
contestId: 'JAGRegional2017',
440-
expected: 'AOJ - (JAG 模擬地区 2017)',
440+
expected: '(JAG 模擬地区 2017)',
441441
}),
442442
createTestCaseForContestNameLabel('AOJ, JAG Regional 2020')({
443443
contestId: 'JAGRegional2020',
444-
expected: 'AOJ - (JAG 模擬地区 2020)',
444+
expected: '(JAG 模擬地区 2020)',
445445
}),
446446
createTestCaseForContestNameLabel('AOJ, JAG Regional 2021')({
447447
contestId: 'JAGRegional2021',
448-
expected: 'AOJ - (JAG 模擬地区 2021)',
448+
expected: '(JAG 模擬地区 2021)',
449449
}),
450450
createTestCaseForContestNameLabel('AOJ, JAG Regional 2022')({
451451
contestId: 'JAGRegional2022',
452-
expected: 'AOJ - (JAG 模擬地区 2022)',
452+
expected: '(JAG 模擬地区 2022)',
453453
}),
454454
];

0 commit comments

Comments
 (0)