/* 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);