|
|
@@ -347,7 +347,7 @@ class ExamSprintReportApplicationServiceTest {
|
|
|
assertThat(content.summaryMetrics().vocabularyGrowthText()).isEqualTo("+19");
|
|
|
assertThat(content.summaryMetrics().paperKnownWordsGrowthText()).isEqualTo("+4");
|
|
|
assertThat(content.summaryMetrics().unknownWordHitRateText()).isEqualTo("1.93%");
|
|
|
- assertThat(content.summaryMetrics().learningEfficiencyText()).isEqualTo("0.4825");
|
|
|
+ assertThat(content.summaryMetrics().learningEfficiencyText()).isEqualTo("0.48");
|
|
|
assertThat(content.stageVocabularySummary().stageName()).isEqualTo("高考");
|
|
|
assertThat(content.stageVocabularySummary().stageVocabularyText()).isEqualTo("3500");
|
|
|
assertThat(content.stageVocabularySummary().masteryImprovementText()).isEqualTo("+0.55");
|
|
|
@@ -355,7 +355,7 @@ class ExamSprintReportApplicationServiceTest {
|
|
|
assertThat(content.testPaperVocabularySummary().testPaperWordCountText()).isEqualTo("861");
|
|
|
assertThat(content.testPaperVocabularySummary().masteryRateImprovementText()).isEqualTo("+0.62");
|
|
|
assertThat(content.examUnknownWordsHitStatus().unknownWordHitRateText()).isEqualTo("1.93%");
|
|
|
- assertThat(content.examUnknownWordsHitStatus().learningEfficiencyText()).isEqualTo("0.4825");
|
|
|
+ assertThat(content.examUnknownWordsHitStatus().learningEfficiencyText()).isEqualTo("0.48");
|
|
|
assertThat(content.examUnknownWordsHitStatus().hitWords())
|
|
|
.containsExactly("number", "bear", "popular", "importance");
|
|
|
}
|
|
|
@@ -395,9 +395,9 @@ class ExamSprintReportApplicationServiceTest {
|
|
|
|
|
|
AchievementReportContent content = (AchievementReportContent) repository.findById(response.reportId()).orElseThrow().content();
|
|
|
assertThat(content.summaryMetrics().unknownWordHitRateText()).isEqualTo("77.77%");
|
|
|
- assertThat(content.summaryMetrics().learningEfficiencyText()).isEqualTo("19.4425");
|
|
|
+ assertThat(content.summaryMetrics().learningEfficiencyText()).isEqualTo("19.44");
|
|
|
assertThat(content.examUnknownWordsHitStatus().unknownWordHitRateText()).isEqualTo("77.77%");
|
|
|
- assertThat(content.examUnknownWordsHitStatus().learningEfficiencyText()).isEqualTo("19.4425");
|
|
|
+ assertThat(content.examUnknownWordsHitStatus().learningEfficiencyText()).isEqualTo("19.44");
|
|
|
}
|
|
|
|
|
|
/** 覆盖成果报告学习效率口径场景,当词数比例与 PaperMasteryHitRate 不一致时,应按 PaperMasteryHitRate 除以 0.04 计算。 */
|
|
|
@@ -413,10 +413,10 @@ class ExamSprintReportApplicationServiceTest {
|
|
|
var response = service.createAchievementReport(payload);
|
|
|
|
|
|
AchievementReportContent content = (AchievementReportContent) repository.findById(response.reportId()).orElseThrow().content();
|
|
|
- assertThat(content.summaryMetrics().unknownWordHitRateText()).isEqualTo("33.333333%");
|
|
|
- assertThat(content.summaryMetrics().learningEfficiencyText()).isEqualTo("8.333333");
|
|
|
- assertThat(content.examUnknownWordsHitStatus().unknownWordHitRateText()).isEqualTo("33.333333%");
|
|
|
- assertThat(content.examUnknownWordsHitStatus().learningEfficiencyText()).isEqualTo("8.333333");
|
|
|
+ assertThat(content.summaryMetrics().unknownWordHitRateText()).isEqualTo("33.33%");
|
|
|
+ assertThat(content.summaryMetrics().learningEfficiencyText()).isEqualTo("8.33");
|
|
|
+ assertThat(content.examUnknownWordsHitStatus().unknownWordHitRateText()).isEqualTo("33.33%");
|
|
|
+ assertThat(content.examUnknownWordsHitStatus().learningEfficiencyText()).isEqualTo("8.33");
|
|
|
}
|
|
|
|
|
|
/** 覆盖成果报告调用方 PascalCase 类型边界场景,当核心数字字段为 string 时,应在保存前校验失败。 */
|