X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fenvironment%2Ftest_metar.cxx;h=4193418823963078ef7362ae1cb3a6d80c7b782b;hb=a62f11c5509f8d7b2a4c3b587c0e7af8d4f5a39b;hp=814094b2eea8b66ccc32721d2af7d409791d4f4f;hpb=c53989adb87ebce57b012e746d342f260377dbf4;p=simgear.git diff --git a/simgear/environment/test_metar.cxx b/simgear/environment/test_metar.cxx index 814094b2..41934188 100644 --- a/simgear/environment/test_metar.cxx +++ b/simgear/environment/test_metar.cxx @@ -58,6 +58,37 @@ void test_basic() COMPARE(m1.getWindDir(), 270); FUZZY_COMPARE(m1.getWindSpeed_kt(), 12, TEST_EPSILON); + COMPARE(m1.getWeather().size(), 1); + COMPARE(m1.getClouds().size(), 2); + + FUZZY_COMPARE(m1.getTemperature_C(), 10, TEST_EPSILON); + FUZZY_COMPARE(m1.getDewpoint_C(), 5, TEST_EPSILON); + FUZZY_COMPARE(m1.getPressure_hPa(), 1025, TEST_EPSILON); +} + +void test_sensor_failure_weather() +{ + SGMetar m1("2011/10/20 11:25 EHAM 201125Z 27012KT 240V300 9999 // FEW025CB SCT048 10/05 Q1025"); + COMPARE(m1.getWindDir(), 270); + FUZZY_COMPARE(m1.getWindSpeed_kt(), 12, TEST_EPSILON); + + COMPARE(m1.getWeather().size(), 0); + COMPARE(m1.getClouds().size(), 2); + + FUZZY_COMPARE(m1.getTemperature_C(), 10, TEST_EPSILON); + FUZZY_COMPARE(m1.getDewpoint_C(), 5, TEST_EPSILON); + FUZZY_COMPARE(m1.getPressure_hPa(), 1025, TEST_EPSILON); +} + +void test_sensor_failure_cloud() +{ + SGMetar m1("2011/10/20 11:25 EHAM 201125Z 27012KT 240V300 9999 FEW025CB/// SCT048/// 10/05 Q1025"); + COMPARE(m1.getWindDir(), 270); + FUZZY_COMPARE(m1.getWindSpeed_kt(), 12, TEST_EPSILON); + + COMPARE(m1.getWeather().size(), 0); + COMPARE(m1.getClouds().size(), 2); + FUZZY_COMPARE(m1.getTemperature_C(), 10, TEST_EPSILON); FUZZY_COMPARE(m1.getDewpoint_C(), 5, TEST_EPSILON); FUZZY_COMPARE(m1.getPressure_hPa(), 1025, TEST_EPSILON); @@ -66,7 +97,9 @@ void test_basic() int main(int argc, char* argv[]) { try { - test_basic(); + test_basic(); + test_sensor_failure_weather(); + test_sensor_failure_cloud(); } catch (sg_exception& e) { cerr << "got exception:" << e.getMessage() << endl; return -1;