Improve Utils unit tests
[e-mobility-charging-stations-simulator.git] / test / utils / UtilsTest.ts
index cb8b5d0893d86e0402e5afbfaa4bcfabc97346d7..7eb6aeb240363db2924eb1c2fbcf7e9764fe9036 100644 (file)
@@ -22,6 +22,78 @@ describe('Utils test suite', () => {
     expect(end - start).toBeGreaterThanOrEqual(1000);
   });
 
+  it('Verify convertToDate()', () => {
+    expect(Utils.convertToDate(undefined)).toBe(undefined);
+    expect(Utils.convertToDate(null)).toBe(null);
+    expect(Utils.convertToDate(0)).toBe(0);
+    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);
+    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);
+  });
+
+  it('Verify convertToInt()', () => {
+    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.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.1)).toBe(1);
+    expect(Utils.convertToInt(1.9)).toBe(1);
+    expect(Utils.convertToInt(1.999)).toBe(1);
+  });
+
+  it('Verify convertToFloat()', () => {
+    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.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.1)).toBe(1.1);
+    expect(Utils.convertToFloat(1.9)).toBe(1.9);
+    expect(Utils.convertToFloat(1.999)).toBe(1.999);
+  });
+
+  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);
+    expect(Utils.convertToBoolean('FALSE')).toBe(false);
+    expect(Utils.convertToBoolean('1')).toBe(true);
+    expect(Utils.convertToBoolean('0')).toBe(false);
+    expect(Utils.convertToBoolean(1)).toBe(true);
+    expect(Utils.convertToBoolean(0)).toBe(false);
+    expect(Utils.convertToBoolean(true)).toBe(true);
+    expect(Utils.convertToBoolean(false)).toBe(false);
+  });
+
   it('Verify secureRandom()', () => {
     const random = Utils.secureRandom();
     expect(typeof random === 'number').toBe(true);
@@ -89,6 +161,19 @@ describe('Utils test suite', () => {
     expect(Utils.isEmptyString(new WeakSet())).toBe(false);
   });
 
+  it('Verify isUndefined()', () => {
+    expect(Utils.isUndefined(undefined)).toBe(true);
+    expect(Utils.isUndefined(null)).toBe(false);
+    expect(Utils.isUndefined('')).toBe(false);
+    expect(Utils.isUndefined(0)).toBe(false);
+    expect(Utils.isUndefined({})).toBe(false);
+    expect(Utils.isUndefined([])).toBe(false);
+    expect(Utils.isUndefined(new Map())).toBe(false);
+    expect(Utils.isUndefined(new Set())).toBe(false);
+    expect(Utils.isUndefined(new WeakMap())).toBe(false);
+    expect(Utils.isUndefined(new WeakSet())).toBe(false);
+  });
+
   it('Verify isNullOrUndefined()', () => {
     expect(Utils.isNullOrUndefined(null)).toBe(true);
     expect(Utils.isNullOrUndefined(undefined)).toBe(true);