Fix random integer generator
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 24 Oct 2022 12:03:18 +0000 (14:03 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 24 Oct 2022 12:03:18 +0000 (14:03 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
benchmarks/benchmarks-utils.js
tests/test-utils.js

index 8bd137a34e3fdbc5a8d8418ac00e097ba251f64f..0a964d7b60e0cfbca7caa3cdd3650b5af7e27bbc 100644 (file)
@@ -31,8 +31,14 @@ function jsonIntegerSerialization (n) {
 }
 
 function generateRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) {
+  if (max < 0) {
+    throw new RangeError('Invalid interval')
+  }
   max = Math.floor(max)
-  if (min != null || min !== 0) {
+  if (min != null && min !== 0) {
+    if (max < min || min < 0) {
+      throw new RangeError('Invalid interval')
+    }
     min = Math.ceil(min)
     return Math.floor(Math.random() * (max - min + 1)) + min
   }
index 76db35571578428b8c6a7a74a91ea4e42cff1dea..f4cb38b23cb1ca63c5c6e17109af45d59f66dc0d 100644 (file)
@@ -37,8 +37,14 @@ class TestUtils {
   }
 
   static generateRandomInteger (max = Number.MAX_SAFE_INTEGER, min = 0) {
+    if (max < 0) {
+      throw new RangeError('Invalid interval')
+    }
     max = Math.floor(max)
-    if (min != null || min !== 0) {
+    if (min != null && min !== 0) {
+      if (max < min || min < 0) {
+        throw new RangeError('Invalid interval')
+      }
       min = Math.ceil(min)
       return Math.floor(Math.random() * (max - min + 1)) + min
     }