X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=test%2Futils%2FUtilsTest.ts;h=b621f88aefdb9bbb63c6d122a423e000da438b5a;hb=7253a9bfc4bd9cff364b29b4b191a0e8b8f98d99;hp=1607cf53967e96be7b0821edfb4b8d9d5f59f252;hpb=df645d8f4155cf4aa401603857f6a6784b5db871;p=e-mobility-charging-stations-simulator.git diff --git a/test/utils/UtilsTest.ts b/test/utils/UtilsTest.ts index 1607cf53..b621f88a 100644 --- a/test/utils/UtilsTest.ts +++ b/test/utils/UtilsTest.ts @@ -23,34 +23,38 @@ describe('Utils test suite', () => { }); it('Verify convertToDate()', () => { + expect(Utils.convertToDate(undefined)).toBe(undefined); + expect(Utils.convertToDate(null)).toBe(null); + const invalidDate = Utils.convertToDate(''); + expect(invalidDate instanceof Date && !isNaN(invalidDate.getTime())).toBe(false); + expect(Utils.convertToDate(0)).toStrictEqual(new Date('1970-01-01T00:00:00.000Z')); + expect(Utils.convertToDate([])).toBe(null); + expect(Utils.convertToDate({})).toBe(null); + expect(Utils.convertToDate(new Map())).toBe(null); + expect(Utils.convertToDate(new Set())).toBe(null); + expect(Utils.convertToDate(new WeakMap())).toBe(null); + expect(Utils.convertToDate(new WeakSet())).toBe(null); const dateStr = '2020-01-01T00:00:00.000Z'; let date = Utils.convertToDate(dateStr); expect(date).toBeInstanceOf(Date); - expect(date.getUTCFullYear()).toBe(2020); - expect(date.getUTCMonth()).toBe(0); - expect(date.getUTCDate()).toBe(1); - expect(date.getUTCHours()).toBe(0); - expect(date.getUTCMinutes()).toBe(0); - expect(date.getUTCSeconds()).toBe(0); - expect(date.getUTCMilliseconds()).toBe(0); + expect(date).toStrictEqual(new Date(dateStr)); date = Utils.convertToDate(new Date(dateStr)); expect(date).toBeInstanceOf(Date); - expect(date.getUTCFullYear()).toBe(2020); - expect(date.getUTCMonth()).toBe(0); - expect(date.getUTCDate()).toBe(1); - expect(date.getUTCHours()).toBe(0); - expect(date.getUTCMinutes()).toBe(0); - expect(date.getUTCSeconds()).toBe(0); - expect(date.getUTCMilliseconds()).toBe(0); + expect(date).toStrictEqual(new Date(dateStr)); }); it('Verify convertToInt()', () => { - const random = Utils.getRandomInteger(); - expect(Utils.convertToInt(random)).toEqual(random); + expect(Utils.convertToInt(undefined)).toBe(0); + expect(Utils.convertToInt(null)).toBe(0); + expect(Utils.convertToInt(0)).toBe(0); + const randomInteger = Utils.getRandomInteger(); + expect(Utils.convertToInt(randomInteger)).toEqual(randomInteger); + expect(Utils.convertToInt('-1')).toBe(-1); expect(Utils.convertToInt('1')).toBe(1); expect(Utils.convertToInt('1.1')).toBe(1); expect(Utils.convertToInt('1.9')).toBe(1); expect(Utils.convertToInt('1.999')).toBe(1); + expect(Utils.convertToInt(-1)).toBe(-1); expect(Utils.convertToInt(1)).toBe(1); expect(Utils.convertToInt(1.1)).toBe(1); expect(Utils.convertToInt(1.9)).toBe(1); @@ -58,12 +62,17 @@ describe('Utils test suite', () => { }); it('Verify convertToFloat()', () => { - const random = Utils.getRandomFloat(); - expect(Utils.convertToFloat(random)).toEqual(random); + expect(Utils.convertToFloat(undefined)).toBe(0); + expect(Utils.convertToFloat(null)).toBe(0); + expect(Utils.convertToFloat(0)).toBe(0); + const randomFloat = Utils.getRandomFloat(); + expect(Utils.convertToFloat(randomFloat)).toEqual(randomFloat); + expect(Utils.convertToFloat('-1')).toBe(-1); expect(Utils.convertToFloat('1')).toBe(1); expect(Utils.convertToFloat('1.1')).toBe(1.1); expect(Utils.convertToFloat('1.9')).toBe(1.9); expect(Utils.convertToFloat('1.999')).toBe(1.999); + expect(Utils.convertToFloat(-1)).toBe(-1); expect(Utils.convertToFloat(1)).toBe(1); expect(Utils.convertToFloat(1.1)).toBe(1.1); expect(Utils.convertToFloat(1.9)).toBe(1.9); @@ -71,6 +80,8 @@ describe('Utils test suite', () => { }); it('Verify convertToBoolean()', () => { + expect(Utils.convertToBoolean(undefined)).toBe(false); + expect(Utils.convertToBoolean(null)).toBe(false); expect(Utils.convertToBoolean('true')).toBe(true); expect(Utils.convertToBoolean('false')).toBe(false); expect(Utils.convertToBoolean('TRUE')).toBe(true); @@ -81,6 +92,8 @@ describe('Utils test suite', () => { expect(Utils.convertToBoolean(0)).toBe(false); expect(Utils.convertToBoolean(true)).toBe(true); expect(Utils.convertToBoolean(false)).toBe(false); + expect(Utils.convertToBoolean('')).toBe(false); + expect(Utils.convertToBoolean('NoNBoolean')).toBe(false); }); it('Verify secureRandom()', () => { @@ -95,12 +108,18 @@ describe('Utils test suite', () => { expect(Number.isSafeInteger(randomInteger)).toBe(true); expect(randomInteger).toBeGreaterThanOrEqual(0); expect(randomInteger).toBeLessThanOrEqual(Number.MAX_SAFE_INTEGER); + expect(randomInteger).not.toEqual(Utils.getRandomInteger()); expect(() => Utils.getRandomInteger(0, 1)).toThrowError(new RangeError('Invalid interval')); expect(() => Utils.getRandomInteger(-1)).toThrowError(new RangeError('Invalid interval')); expect(() => Utils.getRandomInteger(0, -1)).toThrowError(new RangeError('Invalid interval')); randomInteger = Utils.getRandomInteger(2, 1); expect(randomInteger).toBeGreaterThanOrEqual(1); expect(randomInteger).toBeLessThanOrEqual(2); + const max = 2.2, + min = 1.1; + randomInteger = Utils.getRandomInteger(max, min); + expect(randomInteger).toBeGreaterThanOrEqual(Math.ceil(min)); + expect(randomInteger).toBeLessThanOrEqual(Math.floor(max)); }); it('Verify getRandomFloat()', () => { @@ -108,6 +127,7 @@ describe('Utils test suite', () => { expect(typeof randomFloat === 'number').toBe(true); expect(randomFloat).toBeGreaterThanOrEqual(0); expect(randomFloat).toBeLessThanOrEqual(Number.MAX_VALUE); + expect(randomFloat).not.toEqual(Utils.getRandomFloat()); expect(() => Utils.getRandomFloat(0, 1)).toThrowError(new RangeError('Invalid interval')); expect(() => Utils.getRandomFloat(-1)).toThrowError(new RangeError('Invalid interval')); expect(() => Utils.getRandomFloat(0, -1)).toThrowError(new RangeError('Invalid interval'));