import { describe, expect, it } from 'vitest' import { maxRarityForLevel, rarityForReward } from '../src/rarity.js' describe('稀有度区间与等级上限的边界值', () => { it.each([[1, 1], [49, 1], [50, 2], [99, 2], [100, 3], [12799, 9], [12800, 10], [1_000_000, 10]])('reward %i → rarity %i', (reward, rarity) => { expect(rarityForReward(reward)).toBe(rarity) }) it.each([[1, 3], [2, 4], [8, 10], [50, 10]])('level %i → 上限 %i', (level, max) => { expect(maxRarityForLevel(level)).toBe(max) }) it('非法输入直接 throw', () => { expect(() => rarityForReward(0)).toThrow(/reward invalid/) expect(() => maxRarityForLevel(0)).toThrow(/level invalid/) }) })