VLab Issue #4001 - Fix Ncuair decoder for dropsondes
Change-Id: I88646f0d3f981e8b5c1902362636f48e130c8dd3 Former-commit-id:034f028db0
[formerly034f028db0
[formerly 929b1977b350abc7f271ee7cd3ee8e65be4efe85]] Former-commit-id:f87cc6e7fb
Former-commit-id:70f60dc8b9
This commit is contained in:
parent
82c1af1da1
commit
dbf2f42af1
5 changed files with 1122 additions and 4 deletions
|
@ -13,6 +13,7 @@
|
|||
* 09/2011 Chin Chen add batch parsing methods for better performance
|
||||
* 09/2011 457 S. Gurung Renamed H5 to Nc and h5 to nc
|
||||
* 12/2013 T. Lee Fixed TTCC Wmax pressure off by factor of 10
|
||||
* 10/2014 T. Lee Fixed XXCC/XXDD indices to use TTCC/TTDD processing
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -67,9 +68,9 @@ public class NcUairParser {
|
|||
|
||||
public static final int XXBB = 2;
|
||||
|
||||
public static final int XXCC = 9;
|
||||
public static final int XXCC = 3;
|
||||
|
||||
public static final int XXDD = 10;
|
||||
public static final int XXDD = 4;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
* 03/2010 210 L. Lin Initial coding
|
||||
* 09/2011 457 S. Gurung Renamed H5 to Nc and h5 to nc
|
||||
* 09/02/2014 Chin Chen fix surface height missing on some stations issue
|
||||
*
|
||||
* 10/2014 T. Lee Updated catch-all phrases for stnID
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* This code has been developed by the SIB for use in the AWIPS2 system.
|
||||
|
@ -336,7 +337,7 @@ public class NcUairShipMobile {
|
|||
*/
|
||||
public static void Dropsonde(String report) {
|
||||
|
||||
final String DROP = "61616 (AF|NOAA|NASA)(\\d{1,3}) (.*) OB (\\d{2}) 62626";
|
||||
final String DROP = "61616 (AF|NOAA|NA)(\\d{1,3}) (.*) OB (\\d{2}) 62626";
|
||||
Pattern dropPattern = Pattern.compile(DROP, Pattern.DOTALL);
|
||||
Matcher dropMatcher = dropPattern.matcher(report);
|
||||
|
||||
|
@ -354,6 +355,10 @@ public class NcUairShipMobile {
|
|||
+ dropMatcher.group(2);
|
||||
stnId = dropMatcher.group(1) + dropMatcher.group(2)
|
||||
+ dropMatcher.group(4);
|
||||
} else {
|
||||
System.out.println(" New dropsonde station found");
|
||||
stationNumber = "99999";
|
||||
stnId = "NEW_DROP";
|
||||
}
|
||||
// Chin: sfcElevSolution start
|
||||
// if (drop2Matcher.find()) {
|
||||
|
|
|
@ -164,5 +164,7 @@
|
|||
<classpathentry kind="lib" path="lib/servlet-api-2.5.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jetty-security-7.6.14.v20131031.jar"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/com.raytheon.edex.plugin.taf"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/gov.noaa.nws.ncep.edex.plugin.ntrans"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/gov.noaa.nws.ncep.common.dataplugin.ncscat"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
|
|
@ -0,0 +1,385 @@
|
|||
/**
|
||||
|
||||
**/
|
||||
package gov.noaa.nws.ncep.edex.plugin.ncscat.decoder;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import gov.noaa.nws.ncep.common.dataplugin.ncscat.NcscatMode;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import javax.xml.bind.DatatypeConverter;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
|
||||
/**
|
||||
* Unit Tests for NtransDecoder Class
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Oct 20, 2014 bhebbard Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bhebbard
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class NcscatDecoderTest {
|
||||
|
||||
static ByteBuffer simulatedInput;
|
||||
|
||||
DataTime actual, expected;
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@BeforeClass
|
||||
public static void setUpBeforeClass() throws Exception {
|
||||
byte[] b = DatatypeConverter.parseHexBinary(validAscatDump);
|
||||
simulatedInput = ByteBuffer.wrap(b);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@AfterClass
|
||||
public static void tearDownAfterClass() throws Exception {
|
||||
simulatedInput.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@After
|
||||
public void tearDown() throws Exception {
|
||||
}
|
||||
|
||||
// @formatter:off
|
||||
/**
|
||||
* Now, the individual test cases!
|
||||
*
|
||||
*
|
||||
*/
|
||||
// @formatter:on
|
||||
|
||||
/**
|
||||
* VALID CASES
|
||||
*/
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_01() {
|
||||
// simple case: valid ASCAT data confirmed consistent with ASCAT
|
||||
//
|
||||
Boolean actual = NcscatMode.ASCAT.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = true;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_02() {
|
||||
// case: valid ASCAT data NOT consistent with ASCAT_HI
|
||||
//
|
||||
Boolean actual = NcscatMode.ASCAT_HI.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_03() {
|
||||
// case: valid ASCAT data NOT consistent with QUIKSCAT
|
||||
//
|
||||
Boolean actual = NcscatMode.QUIKSCAT.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
// CURRENTLY TOO BIG FOR HARDCODED DATASET; GOES PAST END OF BUFFER
|
||||
// @Test
|
||||
// public final void testConsistentWith_04() {
|
||||
// case: valid ASCAT data NOT consistent with QUIKSCAT_HI
|
||||
//
|
||||
// Boolean actual = NcscatMode.QUIKSCAT_HI.consistentWith(simulatedInput);
|
||||
//
|
||||
// Boolean expected = false;
|
||||
//
|
||||
// assertEquals(expected, actual);
|
||||
// }
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_05() {
|
||||
// case: valid ASCAT data NOT consistent with EXASCT
|
||||
//
|
||||
Boolean actual = NcscatMode.EXASCT.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_06() {
|
||||
// case: valid ASCAT data NOT consistent with EXASCT_HI
|
||||
//
|
||||
Boolean actual = NcscatMode.EXASCT_HI.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_07() {
|
||||
// case: valid ASCAT data NOT consistent with OSCAT
|
||||
//
|
||||
Boolean actual = NcscatMode.OSCAT.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_08() {
|
||||
// case: valid ASCAT data NOT consistent with OSCAT_HI
|
||||
//
|
||||
Boolean actual = NcscatMode.OSCAT_HI.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_09() {
|
||||
// case: valid ASCAT data NOT consistent with WSCAT
|
||||
//
|
||||
Boolean actual = NcscatMode.WSCAT.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* A "typical" scenario:
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ncscat.decoder.NcscatDecoder#consistentWith(java.nio.ByteBuffer)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testConsistentWith_10() {
|
||||
// case: valid ASCAT data NOT consistent with WSCAT
|
||||
//
|
||||
Boolean actual = NcscatMode.WSCAT.consistentWith(simulatedInput);
|
||||
//
|
||||
Boolean expected = false;
|
||||
//
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
// @formatter:off
|
||||
private final static String validAscatDump = (
|
||||
/*00000000*/ "01 21 00 10 00 30 00 00 1a 9d 1a ae 1a bf 1a d0" +
|
||||
/*00000010*/ "1a e1 1a f1 1b 02 1b 12 1b 23 1b 33 1b 43 1b 53" +
|
||||
/*00000020*/ "1b 63 1b 73 1b 83 1b 92 1b a2 1b b1 1b c0 1b cf" +
|
||||
/*00000030*/ "1b de 1d 49 1d 51 1d 59 1d 61 1d 69 1d 70 1d 77" +
|
||||
/*00000040*/ "1d 7d 1d 83 1d 89 1d 8f 1d 94 1d 99 1d 9e 1d a2" +
|
||||
/*00000050*/ "1d a6 1d a9 1d ad 1d b0 1d b2 1d b4 08 8b 08 b2" +
|
||||
/*00000060*/ "08 d9 09 01 09 2a 09 54 09 7e 09 a9 09 d4 0a 00" +
|
||||
/*00000070*/ "0a 2d 0a 5a 0a 88 0a b7 0a e7 0b 17 0b 48 0b 7a" +
|
||||
/*00000080*/ "0b ad 0b e0 0c 14 13 e7 14 38 14 89 14 db 15 2e" +
|
||||
/*00000090*/ "15 82 15 d7 16 2c 16 82 16 d9 17 30 17 88 17 e1" +
|
||||
/*000000a0*/ "18 3a 18 94 18 ef 19 49 19 a5 1a 00 1a 5c 1a b9" +
|
||||
/*000000b0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000000c0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000000d0*/ "00 00 00 00 00 00 00 c0 00 80 00 00 08 00 08 00" +
|
||||
/*000000e0*/ "08 80 00 80 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000000f0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000100*/ "00 00 00 00 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000110*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000120*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 03 75 03 ea 01 3d" +
|
||||
/*00000130*/ "01 14 01 05 01 1c 01 4f d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000140*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000150*/ "d8 f1 d8 f1 d8 f1 d8 f1 00 00 00 00 00 00 00 00" +
|
||||
/*00000160*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000170*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 c0" +
|
||||
/*00000180*/ "29 ad 28 3c 26 70 21 79 1d 10 1d 10 00 00 00 00" +
|
||||
/*00000190*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000001a0*/ "00 00 00 00 00 00 00 00 00 00 00 00 d8 f1 d8 f1" +
|
||||
/*000001b0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*000001c0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*000001d0*/ "d8 f1 00 02 00 02 00 01 00 01 00 02 00 02 00 02" +
|
||||
/*000001e0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*000001f0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000200*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000210*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000220*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000230*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000240*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000250*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000260*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000270*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000280*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000290*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000002a0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000002b0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000002c0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000002d0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000002e0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000002f0*/ "00 00 00 00 00 00 00 00 00 00 00 00 01 21 00 10" +
|
||||
/*00000300*/ "00 30 00 00 1a ab 1a bc 1a ce 1a df 1a ef 1b 00" +
|
||||
/*00000310*/ "1b 11 1b 22 1b 32 1b 43 1b 53 1b 63 1b 73 1b 83" +
|
||||
/*00000320*/ "1b 93 1b a2 1b b2 1b c1 1b d1 1b e0 1b ef 1d 5e" +
|
||||
/*00000330*/ "1d 66 1d 6e 1d 76 1d 7e 1d 85 1d 8c 1d 92 1d 99" +
|
||||
/*00000340*/ "1d 9f 1d a4 1d a9 1d ae 1d b3 1d b7 1d bb 1d bf" +
|
||||
/*00000350*/ "1d c2 1d c5 1d c8 1d ca 08 5c 08 83 08 aa 08 d3" +
|
||||
/*00000360*/ "08 fb 09 25 09 4f 09 79 09 a5 09 d1 09 fe 0a 2b" +
|
||||
/*00000370*/ "0a 59 0a 88 0a b7 0a e8 0b 19 0b 4b 0b 7d 0b b1" +
|
||||
/*00000380*/ "0b e5 13 c7 14 18 14 6a 14 be 15 12 15 66 15 bc" +
|
||||
/*00000390*/ "16 13 16 6a 16 c2 17 1a 17 74 17 ce 18 28 18 84" +
|
||||
/*000003a0*/ "18 df 19 3b 19 98 19 f5 1a 53 1a b0 00 00 00 00" +
|
||||
/*000003b0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000003c0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000003d0*/ "00 00 00 c0 00 00 00 00 08 00 08 00 00 00 00 80" +
|
||||
/*000003e0*/ "00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000003f0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000400*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000410*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000420*/ "d8 f1 d8 f1 d8 f1 03 52 04 3d 01 4e 01 1b 01 0c" +
|
||||
/*00000430*/ "01 30 01 5f 01 79 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000440*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*00000450*/ "d8 f1 d8 f1 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000460*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000470*/ "00 00 00 00 00 00 00 00 00 00 13 7e 2b fb 27 9c" +
|
||||
/*00000480*/ "26 0c 21 d3 1e 0a 1e 1d 1f c2 00 00 00 00 00 00" +
|
||||
/*00000490*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000004a0*/ "00 00 00 00 00 00 00 00 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*000004b0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*000004c0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 00 02" +
|
||||
/*000004d0*/ "00 01 00 01 00 01 00 02 00 02 00 02 00 02 d8 f1" +
|
||||
/*000004e0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1" +
|
||||
/*000004f0*/ "d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 d8 f1 00 00 00 00" +
|
||||
/*00000500*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000510*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000520*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000530*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000540*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000550*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000560*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000570*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000580*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*00000590*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000005a0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000005b0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000005c0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000005d0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000005e0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000005f0*/ "00 00 00 00 00 00 00 00 01 21 00 10 00 30 00 00" +
|
||||
/*00000600*/ "1a ba 1a cb 1a dc 1a ed 1a fe 1b 0f 1b 20 1b 31" +
|
||||
/*00000610*/ "1b 41 1b 52 1b 62 1b 73 1b 83 1b 93 1b a3 1b b3" +
|
||||
/*00000620*/ "1b c2 1b d2 1b e1 1b f0 1c 00 1d 72 1d 7b 1d 83" +
|
||||
/*00000630*/ "1d 8b 1d 92 1d 9a 1d a1 1d a7 1d ae 1d b4 1d b9" +
|
||||
/*00000640*/ "1d bf 1d c4 1d c9 1d cd 1d d1 1d d5 1d d8 1d db" +
|
||||
/*00000650*/ "1d de 1d e0 08 2d 08 54 08 7b 08 a3 08 cc 08 f5" +
|
||||
/*00000660*/ "09 1f 09 4a 09 75 09 a1 09 ce 09 fb 0a 29 0a 58" +
|
||||
/*00000670*/ "0a 87 0a b8 0a e9 0b 1b 0b 4e 0b 81 0b b5 13 a5" +
|
||||
/*00000680*/ "13 f8 14 4b 14 9f 14 f4 15 4a 15 a1 15 f9 16 51" +
|
||||
/*00000690*/ "16 aa 17 04 17 5f 17 ba 18 16 18 73 18 d0 19 2d" +
|
||||
/*000006a0*/ "19 8b 19 ea 1a 49 1a a8 00 00 00 00 00 00 00 00" +
|
||||
/*000006b0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000006c0*/ "00 00 00 00 00 00 00 00 00 00 00 00 00 c0 00 80" +
|
||||
/*000006d0*/ "00 00 00 00 00 00 08 00 00 00 00 00 00 80 00 80" +
|
||||
/*000006e0*/ "00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +
|
||||
/*000006f0*/ "00 00 00 00 00 00 00 00 00 00 00 00 d8 f1 d8 f1" )
|
||||
.replaceAll(" ", "") ;
|
||||
// @formatter:on
|
||||
|
||||
}
|
|
@ -0,0 +1,725 @@
|
|||
/**
|
||||
|
||||
**/
|
||||
package gov.noaa.nws.ncep.edex.plugin.ntrans.decoder;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
|
||||
/**
|
||||
* Unit Tests for NtransDecoder Class
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Aug 8, 2014 bhebbard Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bhebbard
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class NtransDecoderTest {
|
||||
|
||||
private NtransDecoder decoder = null;
|
||||
|
||||
private Calendar decodeTime = null;
|
||||
|
||||
private String frameTimeString = null;
|
||||
|
||||
private String metafileName = null;
|
||||
|
||||
DataTime actual, expected;
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@BeforeClass
|
||||
public static void setUpBeforeClass() throws Exception {
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@AfterClass
|
||||
public static void tearDownAfterClass() throws Exception {
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
decoder = new NtransDecoder();
|
||||
decodeTime = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
||||
decodeTime.setLenient(false); // no nonsense here
|
||||
// default simulated decode time: 2014-08-16 23:57:59.327
|
||||
decodeTime.set(2014, Calendar.AUGUST, 16, 23, 57, 59);
|
||||
decodeTime.set(Calendar.MILLISECOND, 327);
|
||||
// set some other defaults
|
||||
frameTimeString = "";
|
||||
metafileName = "METAFILE_NAME_CONTAINS_NO_TIME_STRING";
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
@After
|
||||
public void tearDown() throws Exception {
|
||||
decoder = null;
|
||||
decodeTime = null;
|
||||
frameTimeString = null;
|
||||
metafileName = null;
|
||||
}
|
||||
|
||||
// @formatter:off
|
||||
/**
|
||||
* Now, the individual test cases!
|
||||
*
|
||||
* In the comments which follow...
|
||||
* C = cycle (or initial) time
|
||||
* D = decode (or system) time
|
||||
* V = valid time
|
||||
* F = forecast hour (V - C)
|
||||
* M = month boundary
|
||||
*
|
||||
*/
|
||||
// @formatter:on
|
||||
|
||||
/**
|
||||
* VALID CASES
|
||||
*/
|
||||
|
||||
/**
|
||||
* A "typical" scenario: C < D < V (Here F = 36)
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_01_C_D_V_F036_A() {
|
||||
// default simulated decode time: 2014-08-16 23:57:59.327
|
||||
frameTimeString = "18/00V036";
|
||||
//
|
||||
expected = new DataTime("2014-08-16 12:00:00.0 (36)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* C = V < D (F = 0)
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_02_C_V_D_F000_A() {
|
||||
decodeTime.set(2014, Calendar.AUGUST, 18, 04, 22, 13);
|
||||
frameTimeString = "18/00V000";
|
||||
//
|
||||
expected = new DataTime("2014-08-18 00:00:00.0 (0)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* C < M < V < D (F = 6)
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_03_C_M_V_D_F006_A() {
|
||||
decodeTime.set(2014, Calendar.SEPTEMBER, 01, 04, 22, 13);
|
||||
frameTimeString = "01/03V006";
|
||||
//
|
||||
expected = new DataTime("2014-08-31 21:00:00.0 (6)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* C < D < M < V (F = 96)
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_04_C_D_M_V_F096_A() {
|
||||
decodeTime.set(2014, Calendar.OCTOBER, 31, 04, 22, 13);
|
||||
frameTimeString = "03/12V096"; // V = 2014-11-03 12:00:00
|
||||
//
|
||||
expected = new DataTime("2014-10-30 12:00:00.0 (96)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* C < M < D < V (F = 240)
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_05_C_M_D_V_F240_A() {
|
||||
decodeTime.set(2017, Calendar.JULY, 01, 04, 22, 13);
|
||||
frameTimeString = "02/18V240"; // V = 2017-07-02 18:00:00
|
||||
//
|
||||
expected = new DataTime("2017-06-22 18:00:00.0 (240)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* C < V < M < D (F = 240)
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_06_C_V_M_D_F240_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
frameTimeString = "21/18V240"; // V = 2019-01-21 18:00:00
|
||||
//
|
||||
expected = new DataTime("2019-01-11 18:00:00.0 (240)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: YYYYMMDDHH
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_10_YYYYMMDDHH_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "ecens_prob_2013042712_atl";
|
||||
frameTimeString = "07/12V240"; // V = 2013-05-07 12:00:00
|
||||
//
|
||||
expected = new DataTime("2013-04-27 12:00:00.0 (240)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2013, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 04, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 27, decoder.dateFromFileName);
|
||||
assertEquals((Integer) 12, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: YYYYMMDD_HH
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_11_YYYYMMDD_HH_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "cmc_20130429_00_chi_sta";
|
||||
frameTimeString = "09/00V240"; // V = 2013-05-09 00:00:00
|
||||
//
|
||||
expected = new DataTime("2013-04-29 00:00:00.0 (240)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2013, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 04, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 29, decoder.dateFromFileName);
|
||||
assertEquals((Integer) 00, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: YYMMDD_HH
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_12_YYMMDD_HH_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "iceaccr_130428_18";
|
||||
frameTimeString = "08/18V240"; // V = 2013-05-08 18:00:00
|
||||
//
|
||||
expected = new DataTime("2013-04-28 18:00:00.0 (240)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2013, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 04, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 28, decoder.dateFromFileName);
|
||||
assertEquals((Integer) 18, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: YYYYMMDD
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_13_YYYYMMDD_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "cpc_20130419_ecmwf";
|
||||
frameTimeString = "04/18V360"; // V = 2013-05-04 18:00:00 - F = 15 days
|
||||
//
|
||||
expected = new DataTime("2013-04-19 18:00:00.0 (360)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2013, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 04, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 19, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: YYMMDD
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_14_YYMMDD_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "cpc_130419_ecmwf";
|
||||
frameTimeString = "04/18V360"; // V = 2013-05-04 18:00:00 - F = 15 days
|
||||
//
|
||||
expected = new DataTime("2013-04-19 18:00:00.0 (360)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2013, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 04, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 19, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: Date without hour, followed later by date
|
||||
* with hour
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_15_YYYYMMDD_YYYYMMDD_HH_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "gfs_gfs.20140829_gfs_20140829_18";
|
||||
frameTimeString = "29/18V000"; // V = 2013-05-04 18:00:00 - F = 15 days
|
||||
//
|
||||
expected = new DataTime("2014-08-29 18:00:00.0 (0)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2014, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 8, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 29, decoder.dateFromFileName);
|
||||
assertEquals((Integer) 18, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Time spec in metafile name: Date with hour, followed later by date
|
||||
* without hour
|
||||
*
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String, java.util.Calendar)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTime_16_YYYYMMDD_HH_YYYYMMDD_A() {
|
||||
decodeTime.set(2019, Calendar.FEBRUARY, 01, 04, 22, 13);
|
||||
metafileName = "gfs_gfs.20140829_gfs_20140829_18";
|
||||
frameTimeString = "29/18V000"; // V = 2013-05-04 18:00:00 - F = 15 days
|
||||
//
|
||||
expected = new DataTime("2014-08-29 18:00:00.0 (0)");
|
||||
//
|
||||
actual = decoder.createDataTime(frameTimeString, metafileName,
|
||||
decodeTime);
|
||||
//
|
||||
assertEquals((Integer) 2014, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 8, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 29, decoder.dateFromFileName);
|
||||
assertEquals((Integer) 18, decoder.hourFromFileName);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTimeStringString1() {
|
||||
DataTime a = decoder.createDataTime("14/22V036",
|
||||
"GFS_DUMMY_20140713_10");
|
||||
assertEquals((Integer) 2014, decoder.yearFromFileName);
|
||||
assertEquals((Integer) 07, decoder.monthFromFileName);
|
||||
assertEquals((Integer) 13, decoder.dateFromFileName);
|
||||
assertEquals((Integer) 10, decoder.hourFromFileName);
|
||||
DataTime x = new DataTime("2014-07-13 10:00:00.0 (36)");
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testCreateDataTimeString1() {
|
||||
DataTime a = decoder.createDataTime("20140714/22V036");
|
||||
assertEquals(null, decoder.yearFromFileName);
|
||||
assertEquals(null, decoder.monthFromFileName);
|
||||
assertEquals(null, decoder.dateFromFileName);
|
||||
assertEquals(null, decoder.hourFromFileName);
|
||||
DataTime x = new DataTime("2014-07-13 10:00:00.0 (36)");
|
||||
assertEquals(x, a);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName01() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gfs_gfs.20140901_gfs_20140901_12_ak");
|
||||
String x = "gfs_20140901_12_ak";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName02() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gdas_gdas.20140901_gdas_20140901_12_na");
|
||||
String x = "gdas_20140901_12_na";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName03() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gefs_gefs.20140831_gefs_20140831_18_spag");
|
||||
String x = "gefs_20140831_18_spag";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName04() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gefs_gefs.20140902_gefs_avgspr_20140902_06_natl");
|
||||
String x = "gefs_avgspr_20140902_06_natl";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName05() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gfs_gfs.20140901_gfs_20140901_00_mar_skewt");
|
||||
String x = "gfs_20140901_00_mar_skewt";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName06() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gfs_gfs.20140901_gfsver_20140901_00");
|
||||
String x = "gfsver_20140901_00";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName07() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("gfs_gfs.20140901_gfsver_20140901_18_na_mar");
|
||||
String x = "gfsver_20140901_18_na_mar";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName08() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("ghm_ghm.20140901_ghm_20140901_00_invest99l");
|
||||
String x = "ghm_20140901_00_invest99l";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName09() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("ghm_ghm.20140902_ghm_20140902_06_dolly05l_nest");
|
||||
String x = "ghm_20140902_06_dolly05l_nest";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName10() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("hwrf_hwrf.20140901_hwrf_20140901_06_invest99l_nest");
|
||||
String x = "hwrf_20140901_06_invest99l_nest";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName11() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("nam_nam.20140901_nam_20140901_00");
|
||||
String x = "nam_20140901_00";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName12() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("nam_nam.20140901_nam_20140901_00_bwx");
|
||||
String x = "nam_20140901_00_bwx";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName13() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("nam_nam.20140901_nam_20140901_00_mar_ver");
|
||||
String x = "nam_20140901_00_mar_ver";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName14() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("rap_rap.20140831_rap_20140831_23_anlloop");
|
||||
String x = "rap_20140831_23_anlloop";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName15() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("rap_rap.20140901_rap_20140901_01");
|
||||
String x = "rap_20140901_01";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName16() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("ukmet.2014090_ukmet.2014090._ukmetver_20140901_00");
|
||||
// now this one is tricky!
|
||||
String x = "ukmetver_20140901_00";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName17() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("ukmet_ukmet.20140902_ukmet_20140902_00_trop");
|
||||
String x = "ukmet_20140902_00_trop";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName18() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("wave_wave.20140901_nww3_20140901_12");
|
||||
// yes, "wave" disappears here...
|
||||
String x = "nww3_20140901_12";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName19() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("wave_wave.20140902_nww3_20140902_00_akw");
|
||||
String x = "nww3_20140902_00_akw";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link gov.noaa.nws.ncep.edex.plugin.ntrans.decoder.NtransDecoder#createDataTime(java.lang.String, java.lang.String)}
|
||||
* .
|
||||
*/
|
||||
@Test
|
||||
public final void testNormalizeFileName20() {
|
||||
String a = decoder
|
||||
.normalizeMetafileName("opc_ens_20140901_18_gefs_prob_lo_spd");
|
||||
// should leave this one alone!
|
||||
String x = "opc_ens_20140901_18_gefs_prob_lo_spd";
|
||||
assertEquals(x, a);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue