package ucar.nc2.util;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
* Test TableParser.readTable
*
* @author caron
* @since 4/19/12
*/
public class TestTableParser {
////////////////////////////////////////////////////////////////////////////////////
static final String testName3 = "/resources/nj22/tables/nexrad.tbl";
static final String testRepeat = "C:\\data\\ghcnm\\ghcnm.v3.0.0-beta1.20101207.qae.dat"; // LOOK put this into cdmUnitTest
@Test
public void testReadNexradTable() throws IOException {
Class c = TableParser.class;
InputStream is = c.getResourceAsStream(testName3);
List<TableParser.Record> recs = TableParser.readTable(is, "3,15,54,60d,67d,73d", 50000);
TableParser.Record rec = recs.get(0);
Assert.assertEquals("TLX", rec.get(0));
Assert.assertEquals(" 000001", rec.get(1));
Assert.assertEquals(" OKLAHOMA_CITY/Norman OK US", rec.get(2));
Assert.assertEquals(3532.0, (Double)rec.get(3), 0.1);
Assert.assertEquals(-9727.0, (Double)rec.get(4), 0.1);
Assert.assertEquals(370.0, (Double)rec.get(5), 0.1);
rec = recs.get(20);
Assert.assertEquals("TWX", rec.get(0));
Assert.assertEquals(" 000554", rec.get(1));
Assert.assertEquals(" TOPEKA/Alma KS US", rec.get(2));
Assert.assertEquals(3898.0, (Double)rec.get(3), 0.1);
Assert.assertEquals(-9622.0, (Double)rec.get(4), 0.1);
Assert.assertEquals(417.0, (Double)rec.get(5), 0.1);
}
@Test
@Ignore("ghcnm.v3.0.0-beta1.20101207.qae.dat isn't in repo")
public void testReadgGghcnmTable() throws IOException {
List<TableParser.Record> recs = TableParser.readTable(testRepeat, "11L,15i,19,(24i,25,26,27)*10", 5);
for (TableParser.Record record : recs) {
for (int j = 0; j < record.values.size(); j++) {
Object s = record.values.get(j);
System.out.print(" " + s.toString());
}
System.out.println();
}
}
}