Files
Genarrative/src/games/bark-battle/domain/__tests__/EnergyTugOfWar.test.ts

20 lines
993 B
TypeScript

import { describe, expect, it } from 'vitest';
import { advanceEnergy } from '../EnergyTugOfWar';
describe('advanceEnergy', () => {
it('玩家推动力高于对手时能量增加', () => {
expect(advanceEnergy({ energy: 0, playerPower: 0.8, opponentPower: 0.2, deltaMs: 1000, balanceFactor: 40 })).toBeGreaterThan(0);
});
it('对手推动力高于玩家时能量减少', () => {
expect(advanceEnergy({ energy: 0, playerPower: 0.1, opponentPower: 0.7, deltaMs: 1000, balanceFactor: 40 })).toBeLessThan(0);
});
it('能量被限制在 -100 到 100 且双方相等时保持稳定', () => {
expect(advanceEnergy({ energy: 98, playerPower: 1, opponentPower: 0, deltaMs: 2000, balanceFactor: 40 })).toBe(100);
expect(advanceEnergy({ energy: -98, playerPower: 0, opponentPower: 1, deltaMs: 2000, balanceFactor: 40 })).toBe(-100);
expect(advanceEnergy({ energy: 12, playerPower: 0.5, opponentPower: 0.5, deltaMs: 1000, balanceFactor: 40 })).toBeCloseTo(12);
});
});