45 #include "build_config.h"
69 int headerExceptionTest(
void );
70 int hardCodeTest(
void );
71 int filterOperatorsTest(
void );
72 int dataExceptionsTest(
void );
123 std::string
file_sep = getFileSep();
126 "test_input_rinex_obs_RinexObsFile.06o";
128 "test_input_rinex_obs_IncompleteHeader.06o";
130 "test_input_rinex_obs_InvalidLineLength.06o";
132 "test_input_rinex_obs_InvalidNumPRNWaveFact.06o";
134 "test_input_rinex_obs_NotObs.06o";
136 "test_input_rinex_obs_SystemGeosync.06o";
138 "test_input_rinex_obs_SystemGlonass.06o";
140 "test_input_rinex_obs_SystemMixed.06o";
142 "test_input_rinex_obs_SystemTransit.06o";
144 "test_input_rinex_obs_UnSupVersion.06o";
146 "test_input_rinex_obs_RinexContData.06o";
149 "test_input_rinex_obs_BadEpochLine.06o";
151 "test_input_rinex_obs_BadEpochFlag.06o";
153 "test_input_rinex_obs_BadLineSize.06o";
155 "test_input_rinex_obs_InvalidTimeFormat.06o";
158 "test_input_rinex_obs_FilterTest1.06o";
160 "test_input_rinex_obs_FilterTest2.06o";
162 "test_input_rinex_obs_FilterTest3.06o";
164 "test_input_rinex_obs_FilterTest4.06o";
167 "test_output_rinex_obs_TestOutput.06o";
169 "test_output_rinex_obs_TestOutput2.06o";
171 "test_output_rinex_obs_TestOutput3.06o";
173 "test_output_rinex_obs_ObsDump.06o";
175 "test_output_rinex_obs_DataExceptionOutput.06o";
177 "test_output_rinex_obs_FilterOutput.txt";
193 TUDEF(
"RinexObsStream",
"dump" );
195 std::string msg_test_desc =
"RinexObsStream, headerExceptionTest";
196 std::string msg_false_pass =
", threw the wrong number of exceptions.";
197 std::string msg_fail =
", threw an unexpected exception.";
235 RinexObsFile >> RinexObsFileh;
244 contdata >> contdatah;
246 out << RinexObsFileh;
256 RinexObsFile >> RinexObsFiled;
259 while( RinexObsFile >> RinexObsFiled )
261 out << RinexObsFiled;
264 while( contdata >> contdatad )
270 contdatah.dump(
dump );
274 testFramework.assert( 39 == RinexObsFileh.NumberHeaderRecordsToBeWritten(),
275 msg_test_desc + msg_false_pass, __LINE__ );
279 testFramework.assert(
false, msg_test_desc + msg_fail, __LINE__ );
282 return( testFramework.countFails() );
293 bool files_equal =
false;
297 int num_lines_skip = 2;
299 TUDEF(
"RinexObsStream",
"dump" );
301 std::string msg_test_desc =
302 "RinexObsStream, read write test, comparing input file and output file";
303 std::string msg_fail_equal =
", input and output do not match.";
304 std::string msg_fail_except =
", threw an unexpected exception.";
314 RinexObsFile >> RinexObsFileh;
315 out << RinexObsFileh;
317 while( RinexObsFile >> RinexObsFiled )
319 out << RinexObsFiled;
323 RinexObsFileh.dump(
dump );
325 files_equal = testFramework.fileEqualTest( dataRinexObsFile, dataTestOutput2,
327 testFramework.assert( files_equal, msg_test_desc + msg_fail_equal, __LINE__ );
331 testFramework.assert(
false, msg_test_desc + msg_fail_except, __LINE__ );
334 return( testFramework.countFails() );
344 TUDEF(
"RinexObsStream",
"dump" );
346 std::string msg_test_desc =
347 "RinexObsStream, test various gnsstk exception throws, including BadEpochLine and BadEpochFlag";
348 std::string msg_fail_throw =
349 ", not all gnsstk exceptions were thrown as expected.";
350 std::string msg_fail_except =
", threw an unexpected exception.";
364 while( BadEpochLine >> BadEpochLined )
366 out << BadEpochLined;
368 while( BadEpochFlag >> BadEpochFlagd )
370 out << BadEpochFlagd;
372 while( BadLineSize >> BadLineSized )
376 while( InvalidTimeFormat >> InvalidTimeFormatd )
378 out << InvalidTimeFormatd;
380 testFramework.assert(
true, msg_test_desc + msg_fail_throw, __LINE__ );
384 testFramework.assert(
false, msg_test_desc + msg_fail_except, __LINE__ );
387 return( testFramework.countFails() );
398 TUDEF(
"RinexObsStream",
"open" );
400 std::string msg_test_desc =
"";
405 FilterStream1.
open( dataFilterTest1, std::ios::in );
424 FilterStream1 >> FilterHeader1;
425 FilterStream2 >> FilterHeader2;
426 FilterStream3 >> FilterHeader3;
427 FilterStream4 >> FilterHeader4;
429 while( FilterStream1 >> rodata)
431 FilterData1 = rodata;
433 while( FilterStream2 >> rodata)
435 FilterData2 = rodata;
437 while( FilterStream3 >> rodata)
439 FilterData3 = rodata;
441 while( FilterStream4 >> rodata)
443 FilterData4 = rodata;
447 merged( FilterHeader1 );
448 merged( FilterHeader2 );
455 "RinexObsDataOperatorEqualsSimple( FilterData1, FilterData1 ), should evaluate as true";
456 testFramework.assert( EqualsSimple( FilterData1, FilterData1 ), msg_test_desc,
461 "RinexObsDataOperatorLessThanSimple( FilterData1, FilterData1 ) should evaluated as false";
462 testFramework.assert( !LessThanSimple( FilterData1, FilterData1 ),
463 msg_test_desc, __LINE__ );
467 "RinexObsDataOperator LessThanFull( FilterData1, FilterData1 ) should evaluate as false ";
468 testFramework.assert( !LessThanFull( FilterData1, FilterData1 ) ,
469 msg_test_desc, __LINE__ );
472 " RinexObsDataOperator LessThanFull( FilterData1, FilterData2 ) should evaluate as false ";
473 testFramework.assert( !LessThanFull( FilterData1, FilterData2 ) ,
474 msg_test_desc, __LINE__ );
480 "One or more of the tests for RinexObsDataOperator LessThanFull threw an exception when it should not have";
481 testFramework.assert(
false, msg_test_desc, __LINE__ );
484 return( testFramework.countFails() );
502 std::cout <<
"Total Failures for " << __FILE__ <<
": " << errorTotal
505 return( errorTotal );