Validate battle save unit roster
This commit is contained in:
@@ -14,7 +14,8 @@ try {
|
||||
const options = {
|
||||
expectedBattleId: 'first-battle-zhuo-commandery',
|
||||
mapWidth: 12,
|
||||
mapHeight: 8
|
||||
mapHeight: 8,
|
||||
validUnitIds: new Set(['liu-bei'])
|
||||
};
|
||||
const validState = createValidBattleSaveState();
|
||||
|
||||
@@ -40,6 +41,8 @@ try {
|
||||
['invalid unit hp', { units: [{ ...validState.units[0], hp: 99, maxHp: 30 }] }],
|
||||
['invalid unit x', { units: [{ ...validState.units[0], x: 12 }] }],
|
||||
['invalid unit direction', { units: [{ ...validState.units[0], direction: 'down' }] }],
|
||||
['unknown unit id', { units: [{ ...validState.units[0], id: 'ghost-unit' }] }],
|
||||
['duplicate unit id', { units: [{ ...validState.units[0] }, { ...validState.units[0], x: 2 }] }],
|
||||
['invalid bonds', { bonds: [{ ...validState.bonds[0], unitIds: ['liu-bei'] }] }],
|
||||
['invalid item stock count', { itemStocks: { 'liu-bei': { bean: -1 } } }],
|
||||
['invalid buff turns', { battleBuffs: [{ ...validState.battleBuffs[0], turns: 0 }] }],
|
||||
@@ -54,6 +57,11 @@ try {
|
||||
assert(!isValidBattleSaveState(candidate, options), `Expected invalid battle save to be rejected: ${label}`);
|
||||
});
|
||||
|
||||
assert(
|
||||
!isValidBattleSaveState(validState, { ...options, validUnitIds: new Set(['liu-bei', 'guan-yu']) }),
|
||||
'Expected save missing a current battle unit to be rejected.'
|
||||
);
|
||||
|
||||
console.log('Verified battle save normalization and corrupted battle save rejection.');
|
||||
} finally {
|
||||
await server.close();
|
||||
|
||||
Reference in New Issue
Block a user