diff --git a/cdm-test/src/test/java/ucar/nc2/dataset/TestProjectionCoordinates.java b/cdm-test/src/test/java/ucar/nc2/dataset/TestProjectionCoordinates.java index 524e67caf0..617f79f74f 100644 --- a/cdm-test/src/test/java/ucar/nc2/dataset/TestProjectionCoordinates.java +++ b/cdm-test/src/test/java/ucar/nc2/dataset/TestProjectionCoordinates.java @@ -82,7 +82,7 @@ private void testCoordinates(String filename, double startLat, double startLon, System.out.printf("end = %f %f%n", start2.getLatitude(), start2.getLongitude()); assert start1.nearlyEquals(LatLonPoint.create(startLat, startLon), 2.0E-4); - assert start2.nearlyEquals(LatLonPoint.create(endLat, endLon), 2.0E-4); + assert start2.nearlyEquals(LatLonPoint.create(endLat, endLon), 3.0E-4); ncd.close(); } diff --git a/cdm-test/src/test/java/ucar/nc2/dt/grid/TestGridSubset.java b/cdm-test/src/test/java/ucar/nc2/dt/grid/TestGridSubset.java index a9b407365e..c3b0e373b7 100644 --- a/cdm-test/src/test/java/ucar/nc2/dt/grid/TestGridSubset.java +++ b/cdm-test/src/test/java/ucar/nc2/dt/grid/TestGridSubset.java @@ -150,7 +150,7 @@ public void testMSG() throws Exception { ProjectionRect expected = new ProjectionRect(ProjectionPoint.create(-2129.5688, -1793.0041), 4297.8453, 3308.3885); - assert prect.nearlyEquals(expected); + assert prect.nearlyEquals(expected, 1e-4); LatLonRect bb2 = p.projToLatLonBB(prect); logger.debug("{} -> {}", prect, bb2); diff --git a/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestCoverageHorizSubset.java b/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestCoverageHorizSubset.java index 35684d4ba0..c0f4729e9d 100644 --- a/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestCoverageHorizSubset.java +++ b/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestCoverageHorizSubset.java @@ -61,7 +61,7 @@ public void testMSG() throws Exception { ProjectionRect expected = new ProjectionRect(ProjectionPoint.create(-2129.5688, -1793.0041), 4297.8453, 3308.3885); - assert prect.nearlyEquals(expected); + assert prect.nearlyEquals(expected, 1e-4); LatLonRect bb2 = p.projToLatLonBB(prect); System.out.printf("%s -> %s %n", prect, bb2); diff --git a/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestGribCoverageRead.java b/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestGribCoverageRead.java index 53c4533952..02e9228bc0 100644 --- a/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestGribCoverageRead.java +++ b/cdm-test/src/test/java/ucar/nc2/ft/coverage/TestGribCoverageRead.java @@ -68,8 +68,8 @@ public void TestTwoDRead() throws IOException, InvalidRangeException { float first = data.getFloat(0); float last = data.getFloat((int) data.getSize() - 1); logger.debug("data first = {} last = {}", first, last); - Assert2.assertNearlyEquals(241.699997, first); - Assert2.assertNearlyEquals(225.099991, last); + assertThat(Misc.nearlyEquals(241.699997, first)); + assertThat(Misc.nearlyEquals(225.099991, last)); } } @@ -99,8 +99,8 @@ public void TestBestRead() throws IOException, InvalidRangeException { float first = data.getFloat(0); float last = data.getFloat((int) data.getSize() - 1); logger.debug("data first = {} last = {}", first, last); - Assert2.assertNearlyEquals(241.699997, first); - Assert2.assertNearlyEquals(225.099991, last); + assertThat(Misc.nearlyEquals(241.699997, first)); + assertThat(Misc.nearlyEquals(225.099991, last)); } } @@ -161,11 +161,11 @@ public void TestMRUTCRead() throws IOException, InvalidRangeException { float val = data.getFloat(40600); logger.debug("data val at {} = {}", 40600, val); - Assert2.assertNearlyEquals(281.627563, val); + assertThat(Misc.nearlyEquals(281.627563, val)); val = data.getFloat(55583); logger.debug("data val at {} = {}", 55583, val); - Assert2.assertNearlyEquals(281.690063, val); + assertThat(Misc.nearlyEquals(281.690063, val)); } } diff --git a/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java b/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java index fe6141a3f2..b918c0e8c1 100644 --- a/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java +++ b/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java @@ -287,17 +287,17 @@ Array convert(Array data, Set enhancements) { double[] dataArray = (double[]) data.get1DJavaArray(DataType.DOUBLE); - List list = Arrays.stream(dataArray).parallel().map((num) -> { + dataArray = Arrays.stream(dataArray).parallel().map((num) -> { for (Enhancement e : toApply) { num = e.convert(num); } return num; - }).boxed().collect(Collectors.toList()); + }).toArray(); Array out = Array.factory(convertedType, data.getShape()); IndexIterator iterOut = out.getIndexIterator(); - for (int i = 0; i < list.size(); i++) { - iterOut.setObjectNext(list.get(i)); + for (int i = 0; i < data.getSize(); i++) { + iterOut.setObjectNext(dataArray[i]); } return out; } diff --git a/cdm/core/src/test/java/ucar/nc2/ft2/coverage/TestHorizCoordSysCrossSeamBoundary.java b/cdm/core/src/test/java/ucar/nc2/ft2/coverage/TestHorizCoordSysCrossSeamBoundary.java index 8df38f51ca..8a40043100 100644 --- a/cdm/core/src/test/java/ucar/nc2/ft2/coverage/TestHorizCoordSysCrossSeamBoundary.java +++ b/cdm/core/src/test/java/ucar/nc2/ft2/coverage/TestHorizCoordSysCrossSeamBoundary.java @@ -16,7 +16,7 @@ import ucar.unidata.geoloc.ProjectionRect; public class TestHorizCoordSysCrossSeamBoundary { - private static final double TOL = 1e-5; + private static final double TOL = 1e-4; @Test public void shouldCalcProjectionsBoundaryPoints() throws URISyntaxException, IOException { @@ -187,7 +187,7 @@ public void shouldCalcLatLonBoundingBoxProjection() throws URISyntaxException, I LatLonRect expectedBB = new LatLonRect(LatLonPoint.create(43.3711, -261.5014), LatLonPoint.create(84.6159, -116.5346)); - assertThat(actualBB.nearlyEquals(expectedBB)).isTrue(); + assertThat(actualBB.nearlyEquals(expectedBB, TOL)).isTrue(); } @Test @@ -198,9 +198,9 @@ public void shouldCalcLatLonBoundingBox2D() throws URISyntaxException, IOExcepti // Derived by manually finding the minimum and maximum lat & lon values of the expected points in the // shouldCalcConnectedLatLonBoundaryPoints2D test. LatLonRect expectedBB = - new LatLonRect(LatLonPoint.create(44.8740, -252.9728), LatLonPoint.create(85.1317, -106.0074)); + new LatLonRect(LatLonPoint.create(44.8741, -252.9727), LatLonPoint.create(85.1318, -106.0074)); - assertThat(actualBB.nearlyEquals(expectedBB)).isTrue(); + assertThat(actualBB.nearlyEquals(expectedBB, TOL)).isTrue(); } private HorizCoordSys getHorizCoordSysOfDataset(String resourceName) throws URISyntaxException, IOException { diff --git a/gradle/any/testing.gradle b/gradle/any/testing.gradle index 1542486b99..d9ba397717 100644 --- a/gradle/any/testing.gradle +++ b/gradle/any/testing.gradle @@ -4,6 +4,7 @@ apply from: "$rootDir/gradle/any/properties.gradle" tasks.withType(Test).all { // Propagates system properties set on the Gradle process to the test executors. addFilteredSysProps(systemProperties) + jvmArgs = ['-Xmx1024m'] if (isJenkins && !isRelease) { // On Jenkins, don't let test failures fail the build unless we are doing we release; we want