Files
hr-assessment-system/scripts/test-reverse-scoring.js
2025-09-29 00:50:47 +08:00

64 lines
2.0 KiB
JavaScript

// 測試反向題分數計算邏輯
function testReverseScoring() {
console.log('🧮 測試反向題分數計算邏輯')
console.log('=' .repeat(50))
// 模擬題目數據
const questions = [
{ id: 1, statement: "一般題目", is_reverse: false },
{ id: 2, statement: "反向題目", is_reverse: true },
{ id: 3, statement: "一般題目", is_reverse: false },
{ id: 4, statement: "反向題目", is_reverse: true }
]
// 模擬用戶答案
const answers = {
0: 5, // 一般題目,選擇 5
1: 5, // 反向題目,選擇 5
2: 1, // 一般題目,選擇 1
3: 1 // 反向題目,選擇 1
}
console.log('\n📋 題目和答案:')
questions.forEach((question, index) => {
const answer = answers[index]
const reverseText = question.is_reverse ? ' (反向題)' : ''
console.log(`${index + 1}. ${question.statement}${reverseText} - 用戶選擇: ${answer}`)
})
console.log('\n🧮 分數計算:')
let totalScore = 0
questions.forEach((question, index) => {
const answer = answers[index] || 1
let score
if (question.is_reverse) {
// 反向題:選擇 5 得 1 分,選擇 1 得 5 分
score = 6 - answer
} else {
// 一般題:選擇多少得多少分
score = answer
}
totalScore += score
console.log(`${index + 1}題: ${question.is_reverse ? '反向' : '一般'} - 選擇${answer} → 得分${score}`)
})
const maxScore = questions.length * 5
const percentage = Math.round((totalScore / maxScore) * 100)
console.log('\n📊 結果:')
console.log(`總分: ${totalScore} / ${maxScore}`)
console.log(`百分比: ${percentage}%`)
console.log('\n✅ 反向題分數計算邏輯測試完成')
console.log('\n📝 說明:')
console.log('- 一般題目:選擇 1-5 得 1-5 分')
console.log('- 反向題目:選擇 1-5 得 5-1 分(分數相反)')
console.log('- 這樣設計是為了確保高分代表高創意能力')
}
testReverseScoring()