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] [Commented] (JOHNZON-122) JSONP spec compliance: JsonNumber equality not spec compliant
Date Mon, 05 Jun 2017 12:41:04 GMT

    [ https://issues.apache.org/jira/browse/JOHNZON-122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16036885#comment-16036885
] 

Svetlin Zarev commented on JOHNZON-122:
---------------------------------------

PS: It also violates the generic ".equals()"  contract

>From the sample code above: 

a.equals(b) == true
b.equals(a) == false

> 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