Implement EV guesser test

Also improve existing battle test.
This commit is contained in:
Guangcong Luo 2019-03-06 13:44:27 -06:00
parent 5232273445
commit a9b8155b5d
4 changed files with 28 additions and 4 deletions

View File

@ -1305,6 +1305,7 @@ if (typeof require === 'function') {
// in Node
(global as any).BattleBaseSpeciesChart = BattleBaseSpeciesChart;
(global as any).BattleStats = BattleStats;
(global as any).BattleNatures = BattleNatures;
(global as any).PureEffect = PureEffect;
(global as any).Template = Template;
(global as any).Ability = Ability;

View File

@ -2160,3 +2160,8 @@ class BattleStatGuesser {
return Math.floor(val);
}
}
if (typeof require === 'function') {
// in Node
(global as any).BattleStatGuesser = BattleStatGuesser;
}

View File

@ -1,9 +1,5 @@
const fs = require('fs');
const path = require('path');
const assert = require('assert').strict;
process.chdir(path.resolve(__dirname, '..'));
window = global;
require('../js/battle-dex-data.js');

22
test/ev-guesser.test.js Normal file
View File

@ -0,0 +1,22 @@
const assert = require('assert').strict;
try {
global.BattlePokedex = require('../data/pokedex.js').BattlePokedex;
} catch (err) {}
require('../js/battle-dex-data.js');
require('../js/battle-dex.js');
require('../js/battle-tooltips.js');
describe('EV Guesser', () => {
(global.BattlePokedex ? it : it.skip)('should guess well', () => {
const guesser = new BattleStatGuesser('gen7ou');
let guess = guesser.guess({
species: 'Arcanine',
item: 'Choice Band',
moves: ['Flare Blitz', 'Close Combat', 'Wild Charge', 'Extreme Speed'],
});
assert(guess.role === 'Fast Band');
});
});