63 lines
2.0 KiB
JavaScript
63 lines
2.0 KiB
JavaScript
/* global mocha suite test chai fibonacci */
|
|
// voir la documentation https://mochajs.org/#running-mocha-in-the-browser
|
|
|
|
|
|
'use strict';
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
// initialisation de Mocha
|
|
mocha.setup('tdd');
|
|
mocha.globals(['__VUE_DEVTOOLS_TOAST__']);
|
|
mocha.checkLeaks();
|
|
|
|
// ////////////////////////////////////////////////////////////////////
|
|
// Suites de tests
|
|
// ////////////////////////////////////////////////////////////////////
|
|
|
|
// Voir pour la syntaxe des assertions https://www.chaijs.com/api/assert/
|
|
|
|
suite('Tests pour la fonction fibonacci', () => {
|
|
test('Type de résultats : nombre', () => {
|
|
chai.assert.isNumber(fibonacci(0));
|
|
});
|
|
|
|
test('Paramètre négatif : résultat indéfini', () => {
|
|
chai.assert.isUndefined(fibonacci(-1));
|
|
});
|
|
|
|
test('Paramètre mauvais type : résultat indéfini', () => {
|
|
chai.assert.isUndefined(fibonacci({}));
|
|
chai.assert.isUndefined(fibonacci(() => 0));
|
|
chai.assert.isUndefined(fibonacci([]));
|
|
chai.assert.isUndefined(fibonacci('test'));
|
|
chai.assert.isUndefined(fibonacci());
|
|
chai.assert.isUndefined(fibonacci(true));
|
|
});
|
|
|
|
test('Test valeurs initiales', () => {
|
|
chai.assert.strictEqual(fibonacci(0), 0);
|
|
chai.assert.strictEqual(fibonacci(1), 1);
|
|
chai.assert.strictEqual(fibonacci(2), 1);
|
|
});
|
|
|
|
test('Test valeur haute ', () => {
|
|
chai.assert.strictEqual(fibonacci(30), 832040);
|
|
});
|
|
});
|
|
|
|
suite('Tests pour la fonction fibonacci', () => {
|
|
test('Start est à 0 par defaut', () => {
|
|
chai.assert.strictEqual(range(0,10), range(10));
|
|
});
|
|
test('Comportement attendu', () => {
|
|
chai.assert.strictEqual(range(10), [0,1,2,3,4,5,6,8,9]);
|
|
chai.assert.Equal(range(10, 4, 2) == [4,6,8]);
|
|
});
|
|
test('Liste vide quand end > start', () => {
|
|
chai.assert.Equal(range(-2, 0), []);
|
|
});
|
|
})
|
|
// Lancement des tests
|
|
mocha.run();
|
|
}, false);
|