johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svetlin Zarev (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JOHNZON-122) JSONP spec compliance: JsonNumber equality not spec compliant
Date Mon, 05 Jun 2017 12:34:04 GMT
Svetlin Zarev created JOHNZON-122:
-------------------------------------

             Summary: JSONP spec compliance: JsonNumber equality not spec compliant
                 Key: JOHNZON-122
                 URL: https://issues.apache.org/jira/browse/JOHNZON-122
             Project: Johnzon
          Issue Type: Bug
    Affects Versions: 1.0.0
            Reporter: Svetlin Zarev


According to the JSONP spec:

{code}
Compares the specified object with this JsonNumber object for equality. Returns true if and
only if the type of the specified object is also JsonNumber and their bigDecimalValue() objects
are equal
{code}

yet johnzon considers "unequal" values to be equal

Sample application:
{code}
public final class Main {
    public static void main(String[] args) {
        JsonNumber a = Json.createObjectBuilder().add("a", 1).build().getJsonNumber("a");
        JsonNumber b = Json.createObjectBuilder().add("b", 1.1).build().getJsonNumber("b");

        System.out.println("EQUALS: " + a.equals(b));
        System.out.println("BigDecimal EQUALS: " + a.bigDecimalValue().equals(b.bigDecimalValue()));
    }
}
{code}

Actual output:
{code}
EQUALS: true
BigDecimal EQUALS: false
{code}

Expected output:
{code}
EQUALS: false
BigDecimal EQUALS: false
{code}

[1] http://docs.oracle.com/javaee/7/api/javax/json/JsonNumber.html#equals-java.lang.Object-



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message