From c6ed898cef42588061c28e6d6196303d7b1b5346 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 31 Aug 2023 13:32:46 -0600 Subject: [PATCH] test --- gradle/nshm.gradle | 2 +- .../nshmp/model/Conus2018Tests.java | 42 +++++++++++++++++++ .../earthquake/nshmp/model/NshmTestUtils.java | 12 ++++++ .../earthquake/nshmp/model/NshmTests.java | 18 ++++---- 4 files changed, 64 insertions(+), 10 deletions(-) create mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/Conus2018Tests.java diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle index 910405dd..008bf38f 100644 --- a/gradle/nshm.gradle +++ b/gradle/nshm.gradle @@ -152,7 +152,7 @@ task testConus2018(type: Test) { ) filter { - includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests.testConus2018" + includeTestsMatching "gov.usgs.earthquake.nshmp.model.Conus2018Tests" } } diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/Conus2018Tests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/Conus2018Tests.java new file mode 100644 index 00000000..baeb1da4 --- /dev/null +++ b/src/test/java/gov/usgs/earthquake/nshmp/model/Conus2018Tests.java @@ -0,0 +1,42 @@ +package gov.usgs.earthquake.nshmp.model; + +import java.io.IOException; +import java.util.stream.Stream; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import gov.usgs.earthquake.nshmp.NamedLocation; +import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm; +import gov.usgs.earthquake.nshmp.model.NshmTestUtils.NshmModel; + +@TestInstance(Lifecycle.PER_CLASS) +class Conus2018Tests { + + Nshm nshm = NshmTests.NSHMS.get("nshm-conus-2018"); + NshmModel nshmModel; + + @BeforeAll + void load() { + nshmModel = NshmTestUtils.loadModel(nshm); + } + + @AfterAll + void stop() { + nshmModel.exec.shutdown(); + } + + @ParameterizedTest + @MethodSource("conusSites") + final void testConus2018(NamedLocation location) throws IOException { + NshmTestUtils.testNshm(nshmModel, location); + } + + private static Stream<NamedLocation> conusSites() { + return NshmTests.CONUS_LOCATIONS.stream(); + } +} diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java index 8edc4534..91d95cf6 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java @@ -100,6 +100,18 @@ class NshmTestUtils { nshmModel.exec.shutdown(); } + static void testNshm(Nshm nshm, NamedLocation location) { + NshmModel nshmModel = loadModel(nshm); + LOGGER.info("Location: " + location.toString()); + compareCurves(nshmModel, location); + nshmModel.exec.shutdown(); + } + + static void testNshm(NshmModel nshmModel, NamedLocation location) { + LOGGER.info("Location: " + location.toString()); + compareCurves(nshmModel, location); + } + /** * Write expected values * diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java index 58cc6adc..a5ba46a7 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java @@ -10,8 +10,8 @@ import java.util.Optional; import java.util.Set; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.TestInstance.Lifecycle; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import gov.usgs.earthquake.nshmp.NamedLocation; import gov.usgs.earthquake.nshmp.gmm.Imt; @@ -23,10 +23,9 @@ import gov.usgs.earthquake.nshmp.site.NshmpSite; /** * Test NSHMs. */ -@TestInstance(Lifecycle.PER_CLASS) class NshmTests { /* Alaska test sites */ - private static final List<NamedLocation> ALASKA_LOCATIONS = List.of( + static final List<NamedLocation> ALASKA_LOCATIONS = List.of( NshmpSite.ANCHORAGE_AK, NshmpSite.FAIRBANKS_AK, NshmpSite.JUNEAU_AK, @@ -34,7 +33,7 @@ class NshmTests { NshmpSite.VALDEZ_AK); /* CONUS test sites */ - private static final List<NamedLocation> CONUS_LOCATIONS = List.of( + static final List<NamedLocation> CONUS_LOCATIONS = List.of( NshmpSite.LOS_ANGELES_CA, NshmpSite.SAN_FRANCISCO_CA, NshmpSite.SEATTLE_WA, @@ -54,7 +53,7 @@ class NshmTests { private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0); private static final Set<Imt> AK_2007_IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0); - private static final Map<String, Nshm> NSHMS; + static final Map<String, Nshm> NSHMS; static { Map<String, Nshm> nshms = new HashMap<>(); @@ -137,9 +136,10 @@ class NshmTests { * * To run test: ./gradlew testConus2018 */ - @Test - final void testConus2018() throws IOException { - NshmTestUtils.testNshm(NSHMS.get("nshm-conus-2018"), Optional.ofNullable(getSite())); + @ParameterizedTest + @MethodSource("conusSites") + final void testConus2018(NamedLocation location) throws IOException { + NshmTestUtils.testNshm(NSHMS.get("nshm-conus-2018"), location); } /** -- GitLab