From b55d1f2c6da141c6ced6eec59882e81c68538825 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 17 Jun 2026 14:32:07 +0000 Subject: [PATCH] Add tests for performanceLevel mapping Co-authored-by: alvin000009238 <107313913+alvin000009238@users.noreply.github.com> --- .../main/java/com/clhs/score/data/GradeAnalysis.kt | 2 +- .../java/com/clhs/score/data/GradeAnalysisTest.kt | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/clhs/score/data/GradeAnalysis.kt b/android/app/src/main/java/com/clhs/score/data/GradeAnalysis.kt index 88fb7e3..7015953 100644 --- a/android/app/src/main/java/com/clhs/score/data/GradeAnalysis.kt +++ b/android/app/src/main/java/com/clhs/score/data/GradeAnalysis.kt @@ -485,7 +485,7 @@ private fun summaryText( .plus("。") } -private fun performanceLevel(topPercent: Int): String = when { +internal fun performanceLevel(topPercent: Int): String = when { topPercent <= 25 -> "班級前段" topPercent <= 50 -> "中上" topPercent <= 75 -> "中段" diff --git a/android/app/src/test/java/com/clhs/score/data/GradeAnalysisTest.kt b/android/app/src/test/java/com/clhs/score/data/GradeAnalysisTest.kt index 258087b..b386ca2 100644 --- a/android/app/src/test/java/com/clhs/score/data/GradeAnalysisTest.kt +++ b/android/app/src/test/java/com/clhs/score/data/GradeAnalysisTest.kt @@ -357,6 +357,18 @@ class GradeAnalysisTest { ) } + @Test + fun performanceLevelMapsTopPercentCorrectly() { + assertEquals("班級前段", performanceLevel(1)) + assertEquals("班級前段", performanceLevel(25)) + assertEquals("中上", performanceLevel(26)) + assertEquals("中上", performanceLevel(50)) + assertEquals("中段", performanceLevel(51)) + assertEquals("中段", performanceLevel(75)) + assertEquals("需要加強", performanceLevel(76)) + assertEquals("需要加強", performanceLevel(100)) + } + @Test fun localInsightsDoNotEstimateRankWhenRankDataMissing() { val current = MockGradeSystem.generateReport(customClassRank = null)