mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-17 10:46:53 -05:00
57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
/**
|
|
* Tests for Gen 3 randomized formats
|
|
*/
|
|
'use strict';
|
|
|
|
const assert = require('../assert');
|
|
const {testSet, testAlwaysHasMove, testHiddenPower, testNotBothMoves} = require('./tools');
|
|
|
|
describe('[Gen 3] Random Battle', () => {
|
|
const options = {format: 'gen3randombattle'};
|
|
|
|
it('should enforce STAB', () => {
|
|
testSet('beautifly', options, set => assert(
|
|
set.moves.some(m => m.startsWith('hiddenpower')),
|
|
`bad Beautifly set: ${JSON.stringify(set.moves)} has no STAB`
|
|
));
|
|
|
|
testSet('lickitung', options, set => assert(
|
|
set.moves.includes('return') || set.moves.includes('seismictoss'),
|
|
`bad Lickitung set: ${JSON.stringify(set.moves)} has no STAB`
|
|
));
|
|
|
|
testAlwaysHasMove('delcatty', options, 'doubleedge');
|
|
});
|
|
|
|
it('should prevent double Hidden Power', () => {
|
|
testHiddenPower('kingler', options);
|
|
testHiddenPower('moltres', options);
|
|
});
|
|
|
|
it('should not give Magneton Sleep Talk without Rest', () => {
|
|
testSet('magneton', options, set => {
|
|
if (set.moves.includes('sleeptalk')) {
|
|
assert(set.moves.includes('rest'), `bad Magneton set: ${JSON.stringify(set.moves)}`);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('should give Blissey Soft-Boiled', () => {
|
|
testSet('blissey', options, set => {
|
|
assert(set.moves.includes('softboiled'), `bad Blissey set: ${JSON.stringify(set.moves)}`);
|
|
});
|
|
});
|
|
|
|
it('should not give Registeel Sleep Talk and Protect', () => {
|
|
testSet('registeel', options, set => {
|
|
if (set.moves.includes('sleeptalk')) {
|
|
assert(!set.moves.includes('protect'), `Registeel with Sleep Talk + Protect (${set.moves})`);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('should not give Skarmory Roar + Sleep Talk', () => {
|
|
testNotBothMoves('skarmory', options, 'roar', 'sleeptalk');
|
|
});
|
|
});
|