An error occurred while loading the file. Please try again.
-
Dorchies David authored2ed395b9
/**
* Mock fonction describe de Jasmine
* @param sTxt Texte de la suite de test
* @param fFun Fonction de la suite de test
*/
export function describe(sTxt: string, fFun: Function) {
//console.group();
console.log(sTxt);
fFun();
//console.groupEnd();
}
/**
* Mock fonction it de jasmine
* @param sTxt Texte à afficher pour la spec
* @param fFun Function à lancer pour la spec
*/
export function it(sTxt: string, fFun: Function) {
console.log(sTxt);
fFun();
}
/**
* Mock expect et toBeCloseTo de Jasmine.
* Ne fonctionne pas à cause de this = undefined dans le contexte "use strict"
*/
export function expect(obj: Object) {
this.testResult = obj;
this.toBeCloseTo = function(expected: number, precision: number) {
var pow = Math.pow(10, precision + 1);
var delta = Math.abs(expected - this.testResult);
var maxDelta = Math.pow(10, -precision) / 2;
if (Math.round(delta * pow) / pow > maxDelta) {
console.error("Expected "+this.testResult+" to be close to "+expected+","+precision);
}
return this;
};
return this;
}
/**
* Mock de la function chainée à expect de test d'une valeur à un epsilon près
* @param actual Valeur numérique sortie du test
* @param expected Valeur numérique attendue
* @param precision Précision attendue (nombre de chiffre après la virgule)
*/
export function toBeCloseTo (actual: number, expected: number, precision: number) {
var pow = Math.pow(10, precision + 1);
var delta = Math.abs(expected - actual);
var maxDelta = Math.pow(10, -precision) / 2;
if (Math.round(delta * pow) / pow > maxDelta) {
console.error("Expected "+actual+" to be close to "+expected+","+precision);
}
return this;
};