You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by Lady-Stardust <gi...@git.apache.org> on 2015/05/10 03:46:13 UTC

[GitHub] commons-lang pull request: Lang 1134

GitHub user Lady-Stardust opened a pull request:

    https://github.com/apache/commons-lang/pull/87

    Lang 1134

    LANG-1134

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/Lady-Stardust/commons-lang LANG-1134

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/commons-lang/pull/87.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #87
    
----
commit 0595a9828a4b0d1aa41d96b5606fbc91626bf324
Author: Lady-Stardust <>
Date:   2015-05-10T01:31:53Z

    Added new methods, see LANG-1134

commit da892402f40cfa30f8b6ff9659020ba16a9027af
Author: Stardust <st...@sd-general>
Date:   2015-05-10T01:35:04Z

    Added new methods, see LANG-1134

commit a510dcf2a5a0fc431731ff506aef7589198eb5a5
Author: Lady-Stardust <>
Date:   2015-05-10T01:35:04Z

    Added new methods, see LANG-1134

commit f9c313145eb42d4317268e06a9f880e87ebffa5c
Author: Stardust <st...@sd-general>
Date:   2015-05-10T01:42:22Z

    Merge origin/LANG-1134 into LANG-1134

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by Lady-Stardust <gi...@git.apache.org>.
Github user Lady-Stardust commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30191803
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greater
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value) {
    --- End diff --
    
    (1)- If I call the method 'greater' I'm creating an ambiguous definition as longs and double can be boxed into comparable objects.
    
    (2)- I agree about swapping the arguments, I wanted to do it the other way around from the start, but if you look at the methods inclusiveBetween and exclusiveBetween, they take the reference values first. I thought it'd be better to make my methods homogeneous with those. Can you confirm that you want me to make this change?
    
    I don't have a fix for point (1). 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-100986809
  
    Very nice, please see my comments.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by coveralls <gi...@git.apache.org>.
Github user coveralls commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-102210032
  
    
    [![Coverage Status](https://coveralls.io/builds/2568427/badge)](https://coveralls.io/builds/2568427)
    
    Coverage increased (+0.05%) to 93.32% when pulling **41e83754024b6b7f32063f7d8bd511d88edb2ff7 on Lady-Stardust:LANG-1134** into **71d7c3264239c55b6e2daf89c44c5685085f26dd on apache:master**.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-102938770
  
    @Lady-Stardust, what is the name you want to be listed with in [changes.xml](https://github.com/apache/commons-lang/blob/master/src/changes/changes.xml)?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30061627
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    --- End diff --
    
    Better use ```Double.isNaN(double)``` here. Reads better, IMHO.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30061829
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greater
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value) {
    --- End diff --
    
    Why not simply ```public static <T> void greater(final T min, final Comparable<T> value)```?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-102938179
  
    Very nice, I'll have a look later this week!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30062633
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greater
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value) {
    +        greaterObj(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(min) <= 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greater(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final long min, final long value) {
    +        greater(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greater(myLong, 0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final long min, final long value, final String message, final Object... values) {
    +        if (value <= min) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greater(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final double min, final double value) {
    +        greater(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greater(myDouble, 0.0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final double min, final double value, final String message, final Object... values) {
    +        if (!(value > min)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greaterOrEqual
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqualObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqualObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterOrEqualObj(final T min, final Comparable<T> value) {
    +        greaterOrEqualObj(min, value, DEFAULT_GREATER_OR_EQUAL_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqualObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqualObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterOrEqualObj(final T min, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(min) < 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final long min, final long value) {
    +        greaterOrEqual(min, value, DEFAULT_GREATER_OR_EQUAL_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myLong, 0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final long min, final long value, final String message, final Object... values) {
    +        if (value < min) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final double min, final double value) {
    +        greaterOrEqual(min, value, DEFAULT_GREATER_OR_EQUAL_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final double min, final double value, final String message, final Object... values) {
    +        if (!(value >= min)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // smaller
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smallerObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than {@code max}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smallerObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerObj(final T max, final Comparable<T> value) {
    +        smallerObj(max, value, DEFAULT_SMALLER_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smallerObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smallerObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerObj(final T max, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(max) >= 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smaller(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final long max, final long value) {
    +        smaller(max, value, DEFAULT_SMALLER_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smaller(myLong, 0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final long max, final long value, final String message, final Object... values) {
    +        if (value >= max) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smaller(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final double max, final double value) {
    +        smaller(max, value, DEFAULT_SMALLER_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smaller(myDouble, 0.0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final double max, final double value, final String message, final Object... values) {
    +        if (!(value < max)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // smallerOrEqual
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqualObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than or equal to {@code max}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqualObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerOrEqualObj(final T max, final Comparable<T> value) {
    +        smallerOrEqualObj(max, value, DEFAULT_SMALLER_OR_EQUAL_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqualObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqualObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerOrEqualObj(final T max, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(max) > 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than or equal to {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final long max, final long value) {
    +        smallerOrEqual(max, value, DEFAULT_SMALLER_OR_EQUAL_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myLong, 0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final long max, final long value, final String message, final Object... values) {
    +        if (value > max) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than or equal to {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final double max, final double value) {
    +        smallerOrEqual(max, value, DEFAULT_SMALLER_OR_EQUAL_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final double max, final double value, final String message, final Object... values) {
    +        if (!(value <= max)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // different
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not equal to a given value
    --- End diff --
    
    The wording here is a bit confusing since "not equal" usually means ```value.equals(reference) == false```. Maybe ```smallerOrGreater``` would be a better method name?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by Lady-Stardust <gi...@git.apache.org>.
Github user Lady-Stardust commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-102209312
  
    Ok I pushes the changes to my fork. I made the changes you said, except for removing the "Obj" suffix because it wouldn't compile anymore.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/commons-lang/pull/87


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30061886
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greater
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value) {
    +        greaterObj(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value, final String message, final Object... values) {
    --- End diff --
    
    see above


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by coveralls <gi...@git.apache.org>.
Github user coveralls commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-100571794
  
    
    [![Coverage Status](https://coveralls.io/builds/2527183/badge)](https://coveralls.io/builds/2527183)
    
    Coverage increased (+0.03%) to 93.31% when pulling **f9c313145eb42d4317268e06a9f880e87ebffa5c on Lady-Stardust:LANG-1134** into **71d7c3264239c55b6e2daf89c44c5685085f26dd on apache:master**.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by Lady-Stardust <gi...@git.apache.org>.
Github user Lady-Stardust commented on the pull request:

    https://github.com/apache/commons-lang/pull/87#issuecomment-103178381
  
    I don't want to be listed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by Lady-Stardust <gi...@git.apache.org>.
Github user Lady-Stardust commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30191959
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greater
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value) {
    +        greaterObj(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(min) <= 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greater(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final long min, final long value) {
    +        greater(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greater(myLong, 0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final long min, final long value, final String message, final Object... values) {
    +        if (value <= min) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greater(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final double min, final double value) {
    +        greater(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greater(myDouble, 0.0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final double min, final double value, final String message, final Object... values) {
    +        if (!(value > min)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greaterOrEqual
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqualObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqualObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterOrEqualObj(final T min, final Comparable<T> value) {
    +        greaterOrEqualObj(min, value, DEFAULT_GREATER_OR_EQUAL_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqualObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqualObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterOrEqualObj(final T min, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(min) < 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final long min, final long value) {
    +        greaterOrEqual(min, value, DEFAULT_GREATER_OR_EQUAL_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myLong, 0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final long min, final long value, final String message, final Object... values) {
    +        if (value < min) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final double min, final double value) {
    +        greaterOrEqual(min, value, DEFAULT_GREATER_OR_EQUAL_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqual(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greaterOrEqual(final double min, final double value, final String message, final Object... values) {
    +        if (!(value >= min)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // smaller
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smallerObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than {@code max}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smallerObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerObj(final T max, final Comparable<T> value) {
    +        smallerObj(max, value, DEFAULT_SMALLER_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smallerObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smallerObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerObj(final T max, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(max) >= 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smaller(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final long max, final long value) {
    +        smaller(max, value, DEFAULT_SMALLER_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smaller(myLong, 0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final long max, final long value, final String message, final Object... values) {
    +        if (value >= max) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smaller(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final double max, final double value) {
    +        smaller(max, value, DEFAULT_SMALLER_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly smaller than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smaller(myDouble, 0.0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than or equal to {@code max}
    +     * @see #smaller(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smaller(final double max, final double value, final String message, final Object... values) {
    +        if (!(value < max)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // smallerOrEqual
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqualObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than or equal to {@code max}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqualObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerOrEqualObj(final T max, final Comparable<T> value) {
    +        smallerOrEqualObj(max, value, DEFAULT_SMALLER_OR_EQUAL_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqualObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param max  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqualObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void smallerOrEqualObj(final T max, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(max) > 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than or equal to {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final long max, final long value) {
    +        smallerOrEqual(max, value, DEFAULT_SMALLER_OR_EQUAL_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myLong, 0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final long max, final long value, final String message, final Object... values) {
    +        if (value > max) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * smaller than or equal to {@code max}&quot;.</p>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final double max, final double value) {
    +        smallerOrEqual(max, value, DEFAULT_SMALLER_OR_EQUAL_EX_MESSAGE, value, max);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is smaller than, or equal to, a 
    +     * given reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.smallerOrEqual(myDouble, 0.0);</pre>
    +     * 
    +     * @param max  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is greater than {@code max}
    +     * @see #smallerOrEqual(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void smallerOrEqual(final double max, final double value, final String message, final Object... values) {
    +        if (!(value <= max)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // different
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not equal to a given value
    --- End diff --
    
    smallerOrGreater seems like a less natural name to me. Would there be a way to rephrase the documentation in a better way?
    Also isn't ""value.equals(reference) == false"" equivalent to ""value.compareTo(reference) != 0"" in the general case?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30061992
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greater
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value) {
    +        greaterObj(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greaterObj(myObject, refObject, "The value must be greater than the reference");</pre>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greaterObj(java.lang.Object, java.lang.Comparable) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterObj(final T min, final Comparable<T> value, final String message, final Object... values) {
    +        if (value.compareTo(min) <= 0) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greater(myLong, 0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(long, long, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final long min, final long value) {
    +        greater(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.greater(myLong, 0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(long, long) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final long min, final long value, final String message, final Object... values) {
    +        if (value <= min) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greater(myDouble, 0.0);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than {@code min}&quot;.</p>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(double, double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final double min, final double value) {
    +        greater(min, value, DEFAULT_GREATER_EX_MESSAGE, value, min);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is strictly greater than a given
    +     * reference; otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <p>If {@code min} or {@code value} is {@code NaN}, the test will fail and
    +     * the exception will be thrown.</p>
    +     * 
    +     * <pre>Validate.greater(myDouble, 0.0);</pre>
    +     * 
    +     * @param min  the reference value
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if {@code value} is smaller than or equal to {@code min}
    +     * @see #greater(double, double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void greater(final double min, final double value, final String message, final Object... values) {
    +        if (!(value > min)) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // greaterOrEqual
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is greater than, or equal to, a 
    +     * given reference; otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.greaterOrEqualObj(myObject, refObject);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value {@code value} is not 
    +     * greater than or equal to {@code min}&quot;.</p>
    +     * 
    +     * @param <T>  the type of the argument object
    +     * @param min  the reference value
    +     * @param value  the object to validate
    +     * @throws IllegalArgumentException if {@code value} is smaller than {@code min}
    +     * @see #greaterOrEqualObj(java.lang.Object, java.lang.Comparable, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static <T> void greaterOrEqualObj(final T min, final Comparable<T> value) {
    --- End diff --
    
    Again, the "Obj" can be dropped.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by Lady-Stardust <gi...@git.apache.org>.
Github user Lady-Stardust commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30191540
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    --- End diff --
    
    Okay, I wanted to avoid having more method calls as the Validate methods might get called often in a program.
    Should I edit it and make a new pull request? How does it work?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30061767
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    +            throw new IllegalArgumentException(String.format(message, values));
    +        }
    +    }
    +    
    +    // finite
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The value is invalid: %f&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value) {
    +        finite(value, DEFAULT_FINITE_EX_MESSAGE, value);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not infinite or {@code NaN};
    +     * otherwise throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.finite(myDouble, "The argument must contain a numeric value");</pre>
    +     *
    +     * @param value the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is infinite or {@code NaN}
    +     * @see #finite(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void finite(final double value, final String message, final Object... values) {
    +        if (value != value || Double.isInfinite(value)) {
    --- End diff --
    
    Better use ```Double.isNaN(double)``` ;)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30207724
  
    --- Diff: src/main/java/org/apache/commons/lang3/Validate.java ---
    @@ -874,7 +888,752 @@ public static void matchesPattern(final CharSequence input, final String pattern
                 throw new IllegalArgumentException(String.format(message, values));
             }
         }
    -
    +    
    +    // notNaN
    +    //---------------------------------------------------------------------------------
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble);</pre>
    +     * 
    +     * <p>The message of the exception is &quot;The validated value is not a 
    +     * number&quot;.</p>
    +     * 
    +     * @param value  the value to validate
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double, java.lang.String, java.lang.Object...) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value) {
    +        notNaN(value, DEFAULT_NOT_NAN_EX_MESSAGE);
    +    }
    +    
    +    /**
    +     * <p>Validates that the specified argument is not {@code NaN}; otherwise
    +     * throwing an exception with the specified message.</p>
    +     * 
    +     * <pre>Validate.notNaN(myDouble, "The value must be a number");</pre>
    +     *
    +     * @param value  the value to validate
    +     * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
    +     * @param values  the optional values for the formatted exception message
    +     * @throws IllegalArgumentException if the value is not a number
    +     * @see #notNaN(double) 
    +     * 
    +     * @since 3.4
    +     */
    +    public static void notNaN(final double value, final String message, final Object... values) {
    +        if (value != value) {
    --- End diff --
    
    Hello @Lady-Stardust,
    
    calling a method is not that expensive (approximately 2ns), so we can live with that ;-)
    
    You can simply add more commits to your branch and github will update the PR when you push your changes to your fork. Thank you!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by britter <gi...@git.apache.org>.
Github user britter commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30062704
  
    --- Diff: src/test/java/org/apache/commons/lang3/ValidateTest.java ---
    @@ -1015,6 +1708,9 @@ public void testExclusiveBetweenDouble_withMessage()
             }
         }
     
    +    //-----------------------------------------------------------------------
    --- End diff --
    
    Where are these changes coming from?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] commons-lang pull request: Lang 1134

Posted by Lady-Stardust <gi...@git.apache.org>.
Github user Lady-Stardust commented on a diff in the pull request:

    https://github.com/apache/commons-lang/pull/87#discussion_r30192062
  
    --- Diff: src/test/java/org/apache/commons/lang3/ValidateTest.java ---
    @@ -1015,6 +1708,9 @@ public void testExclusiveBetweenDouble_withMessage()
             }
         }
     
    +    //-----------------------------------------------------------------------
    --- End diff --
    
    I might have moved my methods and left that behind, my bad.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---