TCK: Provide factory to obtain JsonValue from java.lang.Number #315 Signed-off-by: Jorge Bescos Gascon <jorge.bescos.gascon@oracle.com>
diff --git a/impl-tck/pom.xml b/impl-tck/pom.xml index f832873..8591ede 100644 --- a/impl-tck/pom.xml +++ b/impl-tck/pom.xml
@@ -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> @@ -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>
diff --git a/tck/pom.xml b/tck/pom.xml index dd7e80d..e4dd267 100644 --- a/tck/pom.xml +++ b/tck/pom.xml
@@ -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 @@ -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>
diff --git a/tck/tck-tests/src/main/java/jakarta/jsonp/tck/api/jsonvaluetests/ClientTests.java b/tck/tck-tests/src/main/java/jakarta/jsonp/tck/api/jsonvaluetests/ClientTests.java index 7f60a54..ee74557 100644 --- a/tck/tck-tests/src/main/java/jakarta/jsonp/tck/api/jsonvaluetests/ClientTests.java +++ b/tck/tck-tests/src/main/java/jakarta/jsonp/tck/api/jsonvaluetests/ClientTests.java
@@ -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 @@ -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; @@ -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 { @@ -351,4 +351,62 @@ 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); + } + + } }