From 504371e38950d6dbb83aac6664f9c37215a44f84 Mon Sep 17 00:00:00 2001 From: Emanuela Epure <67077116+emanuelaepure10@users.noreply.github.com> Date: Fri, 31 May 2024 12:09:26 +0200 Subject: [PATCH] fixup! fix: use appropriate methods to convert the numbers in XML Add test --- .../src/data/shiporder/shiporder.xml | 7 +++- .../src/data/shiporder/shiporder.xsd | 5 +++ .../internal/GmlInstanceCollectionTest.java | 37 ++++++++++++++++++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xml b/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xml index 776d5006a7..7e9c8186d7 100644 --- a/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xml +++ b/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xml @@ -14,11 +14,16 @@ xsi:schemaLocation="http://www.example.com shiporder.xsd"> Empire Burlesque Special Edition 1 - 10.90 + 0E-11 Hide your heart 1 9.90 + 123 + 12.3 + 123.456 + 1234567890123456789 + 12345 \ No newline at end of file diff --git a/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xsd b/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xsd index e8f282e49d..3d649b00d9 100644 --- a/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xsd +++ b/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/data/shiporder/shiporder.xsd @@ -22,6 +22,11 @@ + + + + + diff --git a/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/eu/esdihumboldt/hale/io/gml/reader/internal/GmlInstanceCollectionTest.java b/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/eu/esdihumboldt/hale/io/gml/reader/internal/GmlInstanceCollectionTest.java index e8ed0e3ea3..d03616c054 100644 --- a/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/eu/esdihumboldt/hale/io/gml/reader/internal/GmlInstanceCollectionTest.java +++ b/io/plugins/eu.esdihumboldt.hale.io.gml.test/src/eu/esdihumboldt/hale/io/gml/reader/internal/GmlInstanceCollectionTest.java @@ -22,6 +22,7 @@ import static org.junit.Assert.assertTrue; import java.io.IOException; +import java.math.BigDecimal; import java.net.URI; import java.util.Collection; @@ -162,8 +163,6 @@ public void testLoadShiporder() throws Exception { Object[] orderid = instance.getProperty(new QName("orderid")); // attribute // form - // not - // qualified assertNotNull(orderid); assertEquals(1, orderid.length); assertEquals("889923", orderid[0]); @@ -213,6 +212,11 @@ public void testLoadShiporder() throws Exception { assertEquals(1, title1.length); assertEquals("Empire Burlesque", title1[0]); + Object[] price1 = ((Instance) item1).getProperty(new QName(ns, "price")); + assertNotNull(price1); + BigDecimal bigDecimal = new BigDecimal("0.00000000000"); + assertEquals(bigDecimal, price1[0]); + // item 2 Object item2 = items[1]; assertTrue(item2 instanceof Instance); @@ -222,6 +226,35 @@ public void testLoadShiporder() throws Exception { assertEquals(1, title2.length); assertEquals("Hide your heart", title2[0]); + Object[] price2 = ((Instance) item2).getProperty(new QName(ns, "price")); + assertNotNull(price2); + bigDecimal = new BigDecimal("9.90"); + assertEquals(bigDecimal, price2[0]); + + Object[] priceInteger = ((Instance) item2).getProperty(new QName(ns, "priceInteger")); + int intNumber = 123; + assertEquals(intNumber, priceInteger[0]); + + // Double + Object[] priceDouble = ((Instance) item2).getProperty(new QName(ns, "priceDouble")); + double doubleNumber = 12.3; + assertEquals(doubleNumber, priceDouble[0]); + + // Float + Object[] priceFloat = ((Instance) item2).getProperty(new QName(ns, "priceFloat")); + float floatNumber = 123.456F; + assertEquals(floatNumber, priceFloat[0]); + + // Long + Object[] priceLong = ((Instance) item2).getProperty(new QName(ns, "priceLong")); + long longNumber = 1234567890123456789L; + assertEquals(longNumber, priceLong[0]); + + // short + Object[] priceShort = ((Instance) item2).getProperty(new QName(ns, "priceShort")); + short shortNumber = 12345; + assertEquals(shortNumber, priceShort[0]); + // only one object assertFalse(it.hasNext()); } finally {