Former-commit-id:36c108e960
[formerlydcda3a2290
] [formerly33b95fb96d
[formerly df38541c9df38c634626ae214f288b606004a768]] Former-commit-id:33b95fb96d
Former-commit-id:9990bf909b
118 lines
4.1 KiB
Java
118 lines
4.1 KiB
Java
/**
|
|
* This software was developed and / or modified by Raytheon Company,
|
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
|
*
|
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
|
* This software product contains export-restricted data whose
|
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
|
* to non-U.S. persons whether in the United States or abroad requires
|
|
* an export license or other authorization.
|
|
*
|
|
* Contractor Name: Raytheon Company
|
|
* Contractor Address: 6825 Pine Street, Suite 340
|
|
* Mail Stop B8
|
|
* Omaha, NE 68106
|
|
* 402.291.0100
|
|
*
|
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
|
* further licensing information.
|
|
**/
|
|
package test.pirep;
|
|
|
|
import java.util.List;
|
|
|
|
import org.junit.Test;
|
|
import static org.junit.Assert.*;
|
|
|
|
import com.raytheon.edex.plugin.pirep.decoder.TEI;
|
|
import com.raytheon.edex.plugin.pirep.decoder.TEIInfo;
|
|
|
|
/**
|
|
* Various unit tests for the TEIInfo parser class.
|
|
*
|
|
* <pre>
|
|
*
|
|
* SOFTWARE HISTORY
|
|
*
|
|
* Date Ticket# Engineer Description
|
|
* ------------ ---------- ----------- --------------------------
|
|
* Aug 7, 2012 jkorman Initial creation
|
|
*
|
|
* </pre>
|
|
*
|
|
* @author jkorman
|
|
* @version 1.0
|
|
*/
|
|
|
|
public class TestTEIInfo {
|
|
|
|
/**
|
|
* Test that a legal PIREP is parsed correctly.
|
|
*/
|
|
@Test
|
|
public void testParseNormal() {
|
|
final String data = "LYH UA /OV LYH/TM 1226/FL210/TP P180/SK OVC100/WX FV99SM/TA 0/WV 27035KT/TB MDT/IC LGT RIME/RM CB W=";
|
|
|
|
List<TEIInfo> parts = TEIInfo.findTEIs(data);
|
|
assertNotNull(parts);
|
|
assertEquals(12, parts.size());
|
|
assertEquals(TEI.PIREP, parts.get(0).getTei());
|
|
assertEquals(TEI.OV, parts.get(1).getTei());
|
|
assertEquals(TEI.TM, parts.get(2).getTei());
|
|
assertEquals(TEI.FL, parts.get(3).getTei());
|
|
assertEquals(TEI.TP, parts.get(4).getTei());
|
|
assertEquals(TEI.SK, parts.get(5).getTei());
|
|
assertEquals(TEI.WX, parts.get(6).getTei());
|
|
assertEquals(TEI.TA, parts.get(7).getTei());
|
|
assertEquals(TEI.WV, parts.get(8).getTei());
|
|
assertEquals(TEI.TB, parts.get(9).getTei());
|
|
assertEquals(TEI.IC, parts.get(10).getTei());
|
|
assertEquals(TEI.RM, parts.get(11).getTei());
|
|
}
|
|
|
|
/**
|
|
* Test that out of order elements are parsed correctly.
|
|
*/
|
|
@Test
|
|
public void testParseBadOrder() {
|
|
final String data = "LYH UA /OV LYH/TM 1226/FL210/SK OVC100/TP P180/WX FV99SM/TA 0/WV 27035KT/IC LGT RIME/TB MDT/RM CB W=";
|
|
|
|
List<TEIInfo> parts = TEIInfo.findTEIs(data);
|
|
assertNotNull(parts);
|
|
assertEquals(12, parts.size());
|
|
assertEquals(TEI.PIREP, parts.get(0).getTei());
|
|
assertEquals(TEI.OV, parts.get(1).getTei());
|
|
assertEquals(TEI.TM, parts.get(2).getTei());
|
|
assertEquals(TEI.FL, parts.get(3).getTei());
|
|
assertEquals(TEI.SK, parts.get(4).getTei());
|
|
assertEquals(TEI.TP, parts.get(5).getTei());
|
|
assertEquals(TEI.WX, parts.get(6).getTei());
|
|
assertEquals(TEI.TA, parts.get(7).getTei());
|
|
assertEquals(TEI.WV, parts.get(8).getTei());
|
|
assertEquals(TEI.IC, parts.get(9).getTei());
|
|
assertEquals(TEI.TB, parts.get(10).getTei());
|
|
assertEquals(TEI.RM, parts.get(11).getTei());
|
|
}
|
|
|
|
/**
|
|
* Test that "/SKC" does not get confused with the "/SK" TEI.
|
|
*/
|
|
@Test
|
|
public void testSky() {
|
|
final String data = "LYH UA /OV LYH/TM 1226/FL210/SK OVC100/SKC/TA 0/WV 27035KT=";
|
|
final String skyData = "OVC100/SKC";
|
|
|
|
List<TEIInfo> parts = TEIInfo.findTEIs(data);
|
|
assertNotNull(parts);
|
|
assertEquals(7, parts.size());
|
|
assertEquals(TEI.PIREP, parts.get(0).getTei());
|
|
assertEquals(TEI.OV, parts.get(1).getTei());
|
|
assertEquals(TEI.TM, parts.get(2).getTei());
|
|
assertEquals(TEI.FL, parts.get(3).getTei());
|
|
assertEquals(TEI.SK, parts.get(4).getTei());
|
|
assertEquals(skyData, parts.get(4).getTeiText());
|
|
assertEquals(TEI.TA, parts.get(5).getTei());
|
|
assertEquals(TEI.WV, parts.get(6).getTei());
|
|
}
|
|
|
|
}
|