< prev index next >

test/runtime/CommandLine/OptionsValidation/common/optionsvalidation/DoubleJVMOption.java

Print this page

        

@@ -49,10 +49,12 @@
      *
      * @param name name of the option
      */
     DoubleJVMOption(String name) {
         this.name = name;
+        min = Double.MIN_VALUE;
+        max = Double.MAX_VALUE;
     }
 
     /**
      * Initialize double option with passed name, min and max values
      *

@@ -81,11 +83,11 @@
      *
      * @return string with minimum value of the option
      */
     @Override
     String getMin() {
-        return String.format("%f", min);
+        return formatValue(min);
     }
 
     /**
      * Set new maximum option value
      *

@@ -101,11 +103,15 @@
      *
      * @return string with maximum value of the option
      */
     @Override
     String getMax() {
-        return String.format("%f", max);
+        return formatValue(max);
+    }
+    
+    private String formatValue(double value) {
+        return String.format("%f", value);
     }
 
     /**
      * Return list of strings with valid option values which used for testing
      * using jcmd, attach and etc.

@@ -114,26 +120,26 @@
      */
     @Override
     protected List<String> getValidValues() {
         List<String> validValues = new ArrayList<>();
 
-        validValues.add(String.format("%f", min));
-        validValues.add(String.format("%f", max));
+        validValues.add(formatValue(min));
+        validValues.add(formatValue(max));
 
         if ((Double.compare(min, ADDITIONAL_TEST_DOUBLE_NEGATIVE) < 0)
                 && (Double.compare(max, ADDITIONAL_TEST_DOUBLE_NEGATIVE) > 0)) {
-            validValues.add(String.format("%f", ADDITIONAL_TEST_DOUBLE_NEGATIVE));
+            validValues.add(formatValue(ADDITIONAL_TEST_DOUBLE_NEGATIVE));
         }
 
         if ((Double.compare(min, ADDITIONAL_TEST_DOUBLE_ZERO) < 0)
                 && (Double.compare(max, ADDITIONAL_TEST_DOUBLE_ZERO) > 0)) {
-            validValues.add(String.format("%f", ADDITIONAL_TEST_DOUBLE_ZERO));
+            validValues.add(formatValue(ADDITIONAL_TEST_DOUBLE_ZERO));
         }
 
         if ((Double.compare(min, ADDITIONAL_TEST_DOUBLE_POSITIVE) < 0)
                 && (Double.compare(max, ADDITIONAL_TEST_DOUBLE_POSITIVE) > 0)) {
-            validValues.add(String.format("%f", ADDITIONAL_TEST_DOUBLE_POSITIVE));
+            validValues.add(formatValue(ADDITIONAL_TEST_DOUBLE_POSITIVE));
         }
 
         return validValues;
     }
 

@@ -145,27 +151,30 @@
      */
     @Override
     protected List<String> getInvalidValues() {
         List<String> invalidValues = new ArrayList<>();
 
+        if (withRange) {
+            /* Return invalid values only for options which have defined range in VM */
         if (Double.compare(min, Double.MIN_VALUE) != 0) {
             if ((Double.compare(min, 0.0) > 0)
                     && (Double.isNaN(min * 0.999) == false)) {
-                invalidValues.add(String.format("%f", min * 0.999));
+                    invalidValues.add(formatValue(min * 0.999));
             } else if ((Double.compare(min, 0.0) < 0)
                     && (Double.isNaN(min * 1.001) == false)) {
-                invalidValues.add(String.format("%f", min * 1.001));
+                    invalidValues.add(formatValue(min * 1.001));
             }
         }
 
         if (Double.compare(max, Double.MAX_VALUE) != 0) {
             if ((Double.compare(max, 0.0) > 0)
                     && (Double.isNaN(max * 1.001) == false)) {
-                invalidValues.add(String.format("%f", max * 1.001));
+                    invalidValues.add(formatValue(max * 1.001));
             } else if ((Double.compare(max, 0.0) < 0)
                     && (Double.isNaN(max * 0.999) == false)) {
-                invalidValues.add(String.format("%f", max * 0.999));
+                    invalidValues.add(formatValue(max * 0.999));
+                }
             }
         }
 
         return invalidValues;
     }
< prev index next >