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');
|
const { compare }= require('natural-orderby');
|
||||||
|
|
||||||
import { papaParseDatas, papaParseErrors, papaParseMeta } from "./papaParseInterfaces";
|
import { papaParseDatas, papaParseErrors, papaParseMeta } from "./papaParseInterfaces";
|
||||||
import { domElement, selectors, sortingColumns } from "./freeDatas2HTMLInterfaces";
|
import { domElement, selectors, sortingColumns, sortingFunctions } from "./freeDatas2HTMLInterfaces";
|
||||||
|
|
||||||
export class freeDatas2HTML
|
export class freeDatas2HTML
|
||||||
{
|
{
|
||||||
@ -11,7 +11,7 @@ export class freeDatas2HTML
|
|||||||
private _datasSourceUrl: string = "";
|
private _datasSourceUrl: string = "";
|
||||||
private _datasSelectors: selectors[] = [];
|
private _datasSelectors: selectors[] = [];
|
||||||
private _datasSortingColumns: sortingColumns[] = [];
|
private _datasSortingColumns: sortingColumns[] = [];
|
||||||
private _datasSortedColumn : sortingColumns|undefined;
|
private _datasSortedColumn: sortingColumns|undefined;
|
||||||
|
|
||||||
public parseMeta: papaParseMeta|undefined = undefined;
|
public parseMeta: papaParseMeta|undefined = undefined;
|
||||||
public parseDatas: papaParseDatas[] = [];
|
public parseDatas: papaParseDatas[] = [];
|
||||||
@ -19,6 +19,11 @@ export class freeDatas2HTML
|
|||||||
public datasHTML: string = "";
|
public datasHTML: string = "";
|
||||||
public stopIfParseErrors: boolean = false;
|
public stopIfParseErrors: boolean = false;
|
||||||
|
|
||||||
|
public static isNaturalNumber(nb)
|
||||||
|
{
|
||||||
|
return (Number.isInteger(nb) === false || nb < 0) ? false : true;
|
||||||
|
}
|
||||||
|
|
||||||
set datasViewElt(elt: domElement)
|
set datasViewElt(elt: domElement)
|
||||||
{
|
{
|
||||||
let checkContainerExist=document.getElementById(elt.id);
|
let checkContainerExist=document.getElementById(elt.id);
|
||||||
@ -48,7 +53,7 @@ export class freeDatas2HTML
|
|||||||
checkContainerExist=document.getElementById(selectionElts[i].id);
|
checkContainerExist=document.getElementById(selectionElts[i].id);
|
||||||
if(checkContainerExist === null)
|
if(checkContainerExist === null)
|
||||||
console.error(errors.elementNotFound+selectionElts[i].id);
|
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);
|
console.error(errors.needNaturalNumber);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -70,7 +75,7 @@ export class freeDatas2HTML
|
|||||||
this._datasSortingColumns=[];
|
this._datasSortingColumns=[];
|
||||||
for(let i = 0; i < sortingColumns.length; i++)
|
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);
|
console.error(errors.needNaturalNumber);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -40,27 +40,16 @@ describe("freeDatas2HTML", () =>
|
|||||||
expect(converter.datasSelectors.length).toEqual(1);
|
expect(converter.datasSelectors.length).toEqual(1);
|
||||||
expect(converter.datasSelectors[0].id).toEqual("selector2");
|
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é.", () =>
|
it("Si un séparateur vide est fourni pour un sélecteur, il doit être ignoré.", () =>
|
||||||
{
|
{
|
||||||
converter.datasSelectors=[{ datasFieldNb:2, id:"selector2", separator:"" }];
|
converter.datasSelectors=[{ datasFieldNb:2, id:"selector2", separator:"" }];
|
||||||
|
Loading…
Reference in New Issue
Block a user