Skip to content

Commit

Permalink
TCK: Provide factory to obtain JsonValue from java.lang.Number #315
Browse files Browse the repository at this point in the history
Signed-off-by: Jorge Bescos Gascon <jorge.bescos.gascon@oracle.com>
  • Loading branch information
jbescos authored and lukasj committed Oct 15, 2021
1 parent 3c3b1b1 commit 87ef235
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 13 deletions.
8 changes: 4 additions & 4 deletions impl-tck/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
</modules>

<properties>
<jsonp-api.version>2.0.2-SNAPSHOT</jsonp-api.version>
<jsonp-impl.version>2.0.2-SNAPSHOT</jsonp-impl.version>
<jsonp-api.version>2.0.1-SNAPSHOT</jsonp-api.version>
<jsonp-impl.version>1.0.1-SNAPSHOT</jsonp-impl.version>
<jsonp-tck.version>2.0.0-SNAPSHOT</jsonp-tck.version>
</properties>

Expand All @@ -47,8 +47,8 @@
<scope>test</scope>
</dependency>-->
<dependency>
<groupId>org.eclipse.jsonp</groupId>
<artifactId>jakarta.json</artifactId>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<version>${jsonp-impl.version}</version>
<scope>test</scope>
</dependency>
Expand Down
4 changes: 2 additions & 2 deletions tck/pom.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
Expand Down Expand Up @@ -62,7 +62,7 @@
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>2.0.0-RC1</version>
<version>2.0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
Expand All @@ -19,11 +19,7 @@
*/
package jakarta.jsonp.tck.api.jsonvaluetests;

import jakarta.jsonp.tck.api.common.TestResult;
import jakarta.jsonp.tck.common.*;
import jakarta.jsonp.tck.lib.harness.Fault;

import java.util.*;
import static org.junit.Assert.assertEquals;

import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
Expand All @@ -32,7 +28,11 @@
import org.junit.Test;
import org.junit.runner.RunWith;

import jakarta.json.*;
import jakarta.json.Json;
import jakarta.json.JsonValue;
import jakarta.jsonp.tck.api.common.TestResult;
import jakarta.jsonp.tck.common.JSONP_Util;
import jakarta.jsonp.tck.lib.harness.Fault;

@RunWith(Arquillian.class)
public class ClientTests {
Expand Down Expand Up @@ -351,4 +351,62 @@ public void jsonStructure11Test() throws Fault {
result.eval();
}

/*
* @testName: jsonNumber21Test
*
* @test_Strategy: Tests Json.createValue(Number) API method added in JSON-P 2.1.
*/
@Test
public void jsonNumber21Test() {
assertEquals(Json.createValue(1), Json.createValue(Byte.valueOf((byte) 1)));
assertEquals(Json.createValue(1).toString(), Json.createValue(Byte.valueOf((byte) 1)).toString());
assertEquals(Json.createValue(1), Json.createValue(Short.valueOf((short) 1)));
assertEquals(Json.createValue(1).toString(), Json.createValue(Short.valueOf((short) 1)).toString());
assertEquals(Json.createValue(1), Json.createValue(Integer.valueOf(1)));
assertEquals(Json.createValue(1).toString(), Json.createValue(Integer.valueOf(1)).toString());
assertEquals(Json.createValue(1L), Json.createValue(Long.valueOf(1)));
assertEquals(Json.createValue(1L).toString(), Json.createValue(Long.valueOf(1)).toString());
assertEquals(Json.createValue(1D), Json.createValue(Float.valueOf(1)));
assertEquals(Json.createValue(1D).toString(), Json.createValue(Float.valueOf(1)).toString());
assertEquals(Json.createValue(1D), Json.createValue(Double.valueOf(1)));
assertEquals(Json.createValue(1D).toString(), Json.createValue(Double.valueOf(1)).toString());
assertEquals(Json.createValue(1), Json.createValue(new CustomNumber(1)));
assertEquals(Json.createValue(1).toString(), Json.createValue(new CustomNumber(1)).toString());
}

private static class CustomNumber extends Number {

private static final long serialVersionUID = 1L;
private final int num;

private CustomNumber(int num) {
this.num = num;
}

@Override
public int intValue() {
return num;
}

@Override
public long longValue() {
return num;
}

@Override
public float floatValue() {
return num;
}

@Override
public double doubleValue() {
return num;
}

@Override
public String toString() {
return Integer.toString(num);
}

}
}

0 comments on commit 87ef235

Please sign in to comment.