Création d'une méthode statique pour tester si un nombre est naturel.
This commit is contained in:
parent
551b4c821f
commit
e19798a07a
@ -3,7 +3,7 @@ const errors = require("./errors.js");
|
||||
const { compare }= require('natural-orderby');
|
||||
|
||||
import { papaParseDatas, papaParseErrors, papaParseMeta } from "./papaParseInterfaces";
|
||||
import { domElement, selectors, sortingColumns } from "./freeDatas2HTMLInterfaces";
|
||||
import { domElement, selectors, sortingColumns, sortingFunctions } from "./freeDatas2HTMLInterfaces";
|
||||
|
||||
export class freeDatas2HTML
|
||||
{
|
||||
@ -11,7 +11,7 @@ export class freeDatas2HTML
|
||||
private _datasSourceUrl: string = "";
|
||||
private _datasSelectors: selectors[] = [];
|
||||
private _datasSortingColumns: sortingColumns[] = [];
|
||||
private _datasSortedColumn : sortingColumns|undefined;
|
||||
private _datasSortedColumn: sortingColumns|undefined;
|
||||
|
||||
public parseMeta: papaParseMeta|undefined = undefined;
|
||||
public parseDatas: papaParseDatas[] = [];
|
||||
@ -19,6 +19,11 @@ export class freeDatas2HTML
|
||||
public datasHTML: string = "";
|
||||
public stopIfParseErrors: boolean = false;
|
||||
|
||||
public static isNaturalNumber(nb)
|
||||
{
|
||||
return (Number.isInteger(nb) === false || nb < 0) ? false : true;
|
||||
}
|
||||
|
||||
set datasViewElt(elt: domElement)
|
||||
{
|
||||
let checkContainerExist=document.getElementById(elt.id);
|
||||
@ -48,7 +53,7 @@ export class freeDatas2HTML
|
||||
checkContainerExist=document.getElementById(selectionElts[i].id);
|
||||
if(checkContainerExist === null)
|
||||
console.error(errors.elementNotFound+selectionElts[i].id);
|
||||
else if(Number.isInteger(selectionElts[i].datasFieldNb) === false || selectionElts[i].datasFieldNb < 0)
|
||||
else if(freeDatas2HTML.isNaturalNumber(selectionElts[i].datasFieldNb) === false)
|
||||
console.error(errors.needNaturalNumber);
|
||||
else
|
||||
{
|
||||
@ -70,7 +75,7 @@ export class freeDatas2HTML
|
||||
this._datasSortingColumns=[];
|
||||
for(let i = 0; i < sortingColumns.length; i++)
|
||||
{
|
||||
if(Number.isInteger(sortingColumns[i].datasFieldNb) === false || sortingColumns[i].datasFieldNb < 0)
|
||||
if(freeDatas2HTML.isNaturalNumber(sortingColumns[i].datasFieldNb) === false)
|
||||
console.error(errors.needNaturalNumber);
|
||||
else
|
||||
{
|
||||
|
@ -40,27 +40,16 @@ describe("freeDatas2HTML", () =>
|
||||
expect(converter.datasSelectors.length).toEqual(1);
|
||||
expect(converter.datasSelectors[0].id).toEqual("selector2");
|
||||
});
|
||||
|
||||
it("Ne doit accepter que les sélecteurs pour lesquels les numéros de colonne fourrnis sont des nombres naturels.", () =>
|
||||
{
|
||||
converter.datasSelectors=[{ datasFieldNb:2.3, id:"selector1" },{ datasFieldNb:3, id:"selector2" }];
|
||||
expect(converter.datasSelectors.length).toEqual(1);
|
||||
expect(converter.datasSelectors[0].id).toEqual("selector2");
|
||||
converter.datasSelectors=[{ datasFieldNb:2, id:"selector1" },{ datasFieldNb:-1, id:"selector2" }];
|
||||
expect(converter.datasSelectors.length).toEqual(1);
|
||||
expect(converter.datasSelectors[0].id).toEqual("selector1");
|
||||
});
|
||||
|
||||
it("Ne doit accepter que les colonnes de classement pour lesquelles les numéros fournis sont des nombres naturels.", () =>
|
||||
{
|
||||
converter.datasSortingColumns=[{ datasFieldNb:2.3 },{ datasFieldNb:3 }];
|
||||
expect(converter.datasSortingColumns.length).toEqual(1);
|
||||
converter.datasSortingColumns=[{ datasFieldNb:2 },{ datasFieldNb:-1 }];
|
||||
expect(converter.datasSortingColumns.length).toEqual(1);
|
||||
converter.datasSortingColumns=[{ datasFieldNb:2 },{ datasFieldNb:3 }];
|
||||
expect(converter.datasSortingColumns.length).toEqual(2);
|
||||
});
|
||||
|
||||
// Utile pour tester les valeurs fournies pour les numéros de colonne
|
||||
it("Doit retourner un booléen indiquant si un nombre est naturel ou non.", () =>
|
||||
{
|
||||
expect(freeDatas2HTML.isNaturalNumber(-1)).toBeFalse();
|
||||
expect(freeDatas2HTML.isNaturalNumber(1.25)).toBeFalse();
|
||||
expect(freeDatas2HTML.isNaturalNumber(0)).toBeTrue();
|
||||
expect(freeDatas2HTML.isNaturalNumber(1)).toBeTrue();
|
||||
});
|
||||
|
||||
it("Si un séparateur vide est fourni pour un sélecteur, il doit être ignoré.", () =>
|
||||
{
|
||||
converter.datasSelectors=[{ datasFieldNb:2, id:"selector2", separator:"" }];
|
||||
|
Loading…
Reference in New Issue
Block a user