/* **** Test to assure the quality of GPSEphemerisStore class member getXvt() **** This test makes sure that exceptions are thrown if there is no ephemeris data **** for the given PRN and also that an exception is thrown if there is no data for **** the PRN at the given time. Furthermore, this test finds an Xvt for a given **** CivilTime Time and PRN. **** To see the Xvt information for the selected Time and PRN please see **** getXvt.txt */ void xRinexEphemerisStore :: BCESgetXvtTest (void) { ofstream fPRN1; ofstream fPRN15; ofstream fPRN32; fPRN1.open ("Logs/getXvt1.txt"); fPRN15.open ("Logs/getXvt15.txt"); fPRN32.open ("Logs/getXvt32.txt"); gpstk::Rinex3EphemerisStore Store; Store.loadFile("TestRinex06.031"); const short PRN0 = 0; // Zero PRN (Border test case) const short PRN1 = 1; const short PRN15 = 15; const short PRN32 = 32; const short PRN33 = 33; //Top PRN (33) (Border test case); gpstk::SatID sid0(PRN0,gpstk::SatID::systemGPS); gpstk::SatID sid1(PRN1,gpstk::SatID::systemGPS); gpstk::SatID sid15(PRN15,gpstk::SatID::systemGPS); gpstk::SatID sid32(PRN32,gpstk::SatID::systemGPS); gpstk::SatID sid33(PRN33,gpstk::SatID::systemGPS); gpstk::CivilTime Time(2006,1,31,11,45,0,2); gpstk::CivilTime bTime(2006,1,31,2,0,0,2); //Border Time (Time of Border test cases) const gpstk::CommonTime ComTime = (gpstk::CommonTime)Time; const gpstk::CommonTime CombTime = (gpstk::CommonTime)bTime; try { CPPUNIT_ASSERT_NO_THROW(Store.getXvt(sid1,ComTime)); fPRN1 << Store.getXvt(sid1,ComTime) << endl; fPRN15 << Store.getXvt(sid15,ComTime) << endl; fPRN32 << Store.getXvt(sid32,ComTime) << endl; CPPUNIT_ASSERT_THROW(Store.getXvt(sid0,CombTime),gpstk::InvalidRequest); CPPUNIT_ASSERT_THROW(Store.getXvt(sid33,CombTime),gpstk::InvalidRequest); } catch (gpstk::Exception& e) { //cout << e; } CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/getXvt1.txt",(char*)"Checks/getPrnXvt1.chk")); CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/getXvt15.txt",(char*)"Checks/getPrnXvt15.chk")); CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/getXvt32.txt",(char*)"Checks/getPrnXvt32.chk")); }
void xRinexEphemerisStore :: BCESgetSatHealthTest (void) { const short PRN0 = 0; // Zero PRN (Border test case) const short PRN1 = 1; const short PRN15 = 15; const short PRN32 = 32; const short PRN33 = 33; //Top PRN (33) (Border test case); gpstk::SatID sid0(PRN0,gpstk::SatID::systemGPS); gpstk::SatID sid1(PRN1,gpstk::SatID::systemGPS); gpstk::SatID sid15(PRN15,gpstk::SatID::systemGPS); gpstk::SatID sid32(PRN32,gpstk::SatID::systemGPS); gpstk::SatID sid33(PRN33,gpstk::SatID::systemGPS); gpstk::Rinex3EphemerisStore Store; int nr; nr = Store.loadFile("TestRinex06.031"); std::list<gpstk::Rinex3NavData> R3NList; gpstk::GPSEphemerisStore GStore; list<gpstk::Rinex3NavData>::const_iterator it; Store.addToList(R3NList); for (it = R3NList.begin(); it != R3NList.end(); ++it) GStore.addEphemeris(gpstk::EngEphemeris(*it)); gpstk::CivilTime Time(2006,1,31,11,45,0,2); gpstk::CivilTime bTime(2006,1,31,2,0,0,2); //Border Time (Time of Border test cases) const gpstk::CommonTime ComTime = (gpstk::CommonTime)Time; const gpstk::CommonTime CombTime = (gpstk::CommonTime)bTime; try { CPPUNIT_ASSERT_NO_THROW(GStore.getSatHealth(sid1,ComTime)); CPPUNIT_ASSERT_EQUAL((short) 0,GStore.getSatHealth(sid1,Time)); CPPUNIT_ASSERT_EQUAL((short) 0,GStore.getSatHealth(sid15,Time)); CPPUNIT_ASSERT_EQUAL((short) 0,GStore.getSatHealth(sid32,Time)); CPPUNIT_ASSERT_THROW(GStore.getSatHealth(sid0,bTime),gpstk::InvalidRequest); CPPUNIT_ASSERT_THROW(GStore.getSatHealth(sid33,bTime),gpstk::InvalidRequest); } catch (gpstk::Exception& e) { //cout << e; } }
BOOL TRAFFIC_MONITOR(char *server, int port, char *community, int ifindex, int timeout, int retrydelay, CString strMonitorID, char *custpath, char *szReturn) { int s; struct sockaddr_in serv; int i = 0, ret = 0; int count = 1; struct snval *ptmp = NULL; struct snval *ptmpnext = NULL; long ifOperStatus = 0; Gauge ifSpeed = 0; Counter ifInOctets = 0, ifOutOctets = 0; Counter ifInErrors = 0, ifOutErrors = 0; if((ret = MakeSocket(server, port, s, serv)) < 0) { if(ret == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Traffic_1%>")); else if(ret == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Traffic_2%>")); else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Traffic_3%>")); return FALSE; } struct oid *poid = NULL, *ptmpoid = NULL; oid ifInOctets_oid = {{0x2b, 6, 1, 2, 1, 2, 2, 1, 10}, 9}; oid ifOutOctets_oid = {{0x2b, 6, 1, 2, 1, 2, 2, 1, 16}, 9}; ifInOctets_oid.id[ifInOctets_oid.len++] = ifindex; poid = ptmpoid = &ifInOctets_oid; ifOutOctets_oid.id[ifOutOctets_oid.len++] = ifindex; ptmpoid->next = &ifOutOctets_oid; ptmpoid = ptmpoid->next; struct snval *psnval = NULL; if((ret = SN_VALUES(s, serv, community, 1, poid, &psnval)) < 0) { if(ret == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_4%>"));//<%IDS_Dynamo_4%> else if(ret == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_5%>"));//<%IDS_Dynamo_5%> else if(ret == -3) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_6%>"));//<%IDS_Dynamo_6%> else if(ret == -4) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_7%>"));//<%IDS_Dynamo_7%> else if(ret == -5) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_8%>"));//<%IDS_Dynamo_8%> else if(ret == -6) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_9%>"));//<%IDS_Dynamo_9%> else if(ret == -7) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_10%>"));//<%IDS_Dynamo_10%> else if(ret == -8) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_11%>"));//<%IDS_Dynamo_11%> else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_Dynamo_12%>"));//<%IDS_Dynamo_12%> goto w; } ptmp = psnval; ptmpnext = NULL; while(ptmp) { switch(count) { case 1: switch(ptmp->sv_type) { case ASN1_INT: case ASN1_COUNTER: case ASN1_GAUGE: case ASN1_TIMETICKS: case ASN1_COUNTER64: case ASN1_UINTEGER32: ifInOctets = ptmp->sv_val.sv_int; break; default: ifInOctets = 0; break; } break; case 2: switch(ptmp->sv_type) { case ASN1_INT: case ASN1_COUNTER: case ASN1_GAUGE: case ASN1_TIMETICKS: case ASN1_COUNTER64: case ASN1_UINTEGER32: ifOutOctets = ptmp->sv_val.sv_int; break; default: ifOutOctets = 0; break; } break; } count ++; ptmp = ptmp->next; } // computer the traffic { char ciniFile[256] = {0}, cinifile[256] = {0}; char cifIndex[256] = {0}; sprintf(cinifile, "snmp_%s_%s.ini", server, strMonitorID); sprintf(ciniFile, "%s\\%s", custpath, cinifile); sprintf(cifIndex, "ifIndex_%ld", ifindex); long ifTime = 0; Counter inOctets = 0, outOctets = 0; CTime curTime = CTime::GetCurrentTime(); ifTime = DFN_GetPrivateProfileInt(cifIndex, "ifTime", -99, ciniFile); inOctets = DFN_GetPrivateProfileInt(cifIndex, "ifInOctets", -99, ciniFile); outOctets = DFN_GetPrivateProfileInt(cifIndex, "ifOutOctets", -99, ciniFile); if(ifTime == -99 || inOctets == -99 || outOctets == -99) { CString strSection = _T(""); strSection.Format("ifIndex_%ld", ifindex); curTime = CTime::GetCurrentTime(); CString strMsg = _T(""); strMsg.Format("%ld", curTime.GetTime()); ::DFN_WritePrivateProfileString((LPCTSTR)strSection, "ifTime", (LPCTSTR)strMsg, ciniFile); strMsg.Format("%ld", ifInOctets); ::DFN_WritePrivateProfileString((LPCTSTR)strSection, "ifInOctets", (LPCTSTR)strMsg, ciniFile); strMsg.Format("%ld", ifOutOctets); ::DFN_WritePrivateProfileString((LPCTSTR)strSection, "ifOutOctets", (LPCTSTR)strMsg, ciniFile); WriteLogFile(strMonitorID, "读配置文件失败"); } else { float ifInOctetsRate = 0.0, ifOutOctetsRate = 0.0; Counter InOctets = 0, OutOctets = 0; CTime bTime(ifTime); curTime = CTime::GetCurrentTime(); CTimeSpan spanTime = curTime - bTime; long lInterval = spanTime.GetTotalSeconds(); if(lInterval == 0) lInterval = 1; if(lInterval <= 12 * 60 * 60 && lInterval >= 0) { InOctets = (unsigned int)(ifInOctets - inOctets < 0 ? (COUNTER_MAX - inOctets + ifInOctets) : (ifInOctets - inOctets)); //ifInOctetsRate = (float)InOctets / lInterval; //k ifInOctetsRate = (float)InOctets / lInterval/1024; OutOctets = (unsigned int)(ifOutOctets - outOctets < 0 ? (COUNTER_MAX - outOctets + ifOutOctets) : (ifOutOctets - outOctets)); // wang peng /1024 =k //Edit By Kevin.Yang PM: 14:55 2004.10.21 //Reason: 根据张鹏所提供的资料目前Cisio的MIF库中单位为KB,因此在 //得到的数据后不再需要除以1024 ifOutOctetsRate = (float)OutOctets / lInterval /1024; //ifOutOctetsRate = (float)OutOctets / lInterval; sprintf(szReturn, "ifIndex=%ld$ifInOctetsRate=%.2f$ifOutOctetsRate=%.2f$", ifindex, ifInOctetsRate * 8, ifOutOctetsRate * 8); } else { CString strLog; strLog.Format("时间总秒数%d", lInterval); // WriteLogFile(strMonitorID, strLog); } // WriteLogFile(strMonitorID, szReturn); //if(strlen(szReturn) == 0) //{ // printf("%d年%d月%d日 %d时%d分%d秒 \n%d年%d月%d日 %d时%d分%d秒 \n", // curTime.GetYear(), curTime.GetMonth(), curTime.GetDay(), // curTime.GetHour(), curTime.GetMinute(), curTime.GetSecond(), // bTime.GetYear(), bTime.GetMonth(), bTime.GetDay(), // bTime.GetHour(), bTime.GetMinute(), bTime.GetSecond()); //} char buff[256] = {0}; memset(buff, 0, 256); ltoa(curTime.GetTime(), buff, 10); DFN_WritePrivateProfileString(cifIndex, "ifTime", buff, ciniFile); memset(buff, 0, 256); ltoa(ifInOctets, buff, 10); DFN_WritePrivateProfileString(cifIndex, "ifInOctets", buff, ciniFile); memset(buff, 0, 256); ltoa(ifOutOctets, buff, 10); DFN_WritePrivateProfileString(cifIndex, "ifOutOctets", buff, ciniFile); } } w: ptmp = psnval; if(ptmp) ptmpnext = ptmp->next; while(ptmp) { free(ptmp); ptmp = ptmpnext; if(ptmp) ptmpnext = ptmp->next; } return !ret; }
BOOL CTRONETHERSTATUS_MONITOR(char *server, int port, char *community, CString strIndex, int rdelay, int timeout, int ngid, int nmid, char *cpath, char *szReturn) { int s; struct sockaddr_in serv; int i = 0, j = 0, ret = 0; int count = 1; struct snval *ptmp = NULL; struct snval *ptmpnext = NULL; u_int _64Octets = 0, _65to127Octets = 0; u_int _Curr64Octets = 0, _Curr65to127Octets = 0; if((ret = MakeSocket(server, port, s, serv)) < 0) { if(ret == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_1%>"));//<%IDS_CheckPoint_1%> else if(ret == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_2%>"));//<%IDS_CheckPoint_2%> else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_3%>"));//<%IDS_CheckPoint_3%> return FALSE; } long index_id[32]; int index_id_c = 0; while(1) { i = strIndex.Find('.', 0); if(i > 0) index_id[index_id_c++] = atoi(strIndex); else if(i < 0 && strIndex.GetLength() > 0) { index_id[index_id_c++] = atoi(strIndex); break; } else break; strIndex.Delete(0, i + 1); } for(i = 0;i < index_id_c;i ++) { etherStatsPkts64Octets.id[etherStatsPkts64Octets.len++] = index_id[i]; etherStatsPkts65to127Octets.id[etherStatsPkts65to127Octets.len ++] = index_id[i]; } struct oid *poid = NULL, *ptmpoid = NULL; poid = ptmpoid = ðerStatsPkts64Octets; ptmpoid->next = ðerStatsPkts65to127Octets; ptmpoid = ptmpoid->next; struct snval *psnval = NULL; if((ret = SN_VALUES(s, serv, community, 1, poid, &psnval)) < 0) { if(ret == -1) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_4%>"));//<%IDS_CheckPoint_4%> else if(ret == -2) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_5%>"));//<%IDS_CheckPoint_5%> else if(ret == -3) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_6%>"));//<%IDS_CheckPoint_6%> else if(ret == -4) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_7%>"));//<%IDS_CheckPoint_7%> else if(ret == -5) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_8%>"));//<%IDS_CheckPoint_8%> else if(ret == -6) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_9%>"));//<%IDS_CheckPoint_9%> else if(ret == -7) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_10%>"));//<%IDS_CheckPoint_10%> else if(ret == -8) sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_11%>"));//<%IDS_CheckPoint_11%> else sprintf(szReturn, "error=%s", FuncGetStringFromIDS("<%IDS_CheckPoint_12%>"));//<%IDS_CheckPoint_12%> goto w; } _Curr64Octets = psnval->sv_val.sv_int; _Curr65to127Octets = psnval->next->sv_val.sv_int; { char ciniFile[256] = {0}, cinifile[256] = {0}; char cifIndex[256] = {0}; sprintf(cinifile, "ctron_%s_%d_%d.ini", server, ngid, nmid); sprintf(ciniFile, "%s\\%s", cpath, cinifile); sprintf(cifIndex, "ifIndex_%s", strIndex); long ifTime = 0; CTime curTime = CTime::GetCurrentTime(); ifTime = DFN_GetPrivateProfileInt(cifIndex, "ifTime", 0, ciniFile); _64Octets = DFN_GetPrivateProfileInt(cifIndex, "_64Octets", 0, ciniFile); _65to127Octets = DFN_GetPrivateProfileInt(cifIndex, "_65to127Octets", 0, ciniFile); if(ifTime == 0 && _64Octets == 0 && _65to127Octets == 0) { CString strSection = _T(""); strSection.Format("ifIndex_%s", strIndex); CString strMsg = _T(""); strMsg.Format("%ld", curTime.GetTime()); ::DFN_WritePrivateProfileString((LPCTSTR)strSection, "ifTime", (LPCTSTR)strMsg, ciniFile); strMsg.Format("%ld", _Curr64Octets); ::DFN_WritePrivateProfileString((LPCTSTR)strSection, "_64Octets", (LPCTSTR)strMsg, ciniFile); strMsg.Format("%ld", _Curr65to127Octets); ::DFN_WritePrivateProfileString((LPCTSTR)strSection, "_65to127Octets", (LPCTSTR)strMsg, ciniFile); } else { float _Rate64Octets = 0.0, _Rate65to127Octets = 0.0; Counter _Delta64Octets = 0, _Delta65to127Octets = 0; CTime bTime(ifTime); CTimeSpan spanTime = curTime - bTime; long lInterval = spanTime.GetTotalSeconds(); if(lInterval == 0) lInterval = 1; if(lInterval <= 12 * 60 * 60 && lInterval > 0) { _Delta64Octets = (unsigned int)(_Curr64Octets - _64Octets < 0 ? (COUNTER_MAX - _64Octets + _Curr64Octets) : (_Curr64Octets - _64Octets)); _Rate64Octets = (float)_Delta64Octets / lInterval; _Delta65to127Octets = (unsigned int)(_Curr65to127Octets - _65to127Octets < 0 ? (COUNTER_MAX - _65to127Octets + _Curr65to127Octets) : (_Curr65to127Octets - _65to127Octets)); _Rate65to127Octets = (float)_Delta65to127Octets / lInterval; sprintf(szReturn, "_Rate64Octets=%.2f$_Rate65to127Octets=%.2f$", _Rate64Octets, _Rate65to127Octets); } char buff[256] = {0}; memset(buff, 0, 256); ltoa(curTime.GetTime(), buff, 10); DFN_WritePrivateProfileString(cifIndex, "ifTime", buff, ciniFile); memset(buff, 0, 256); ltoa(_Curr64Octets, buff, 10); DFN_WritePrivateProfileString(cifIndex, "_64Octets", buff, ciniFile); memset(buff, 0, 256); ltoa(_Curr65to127Octets, buff, 10); DFN_WritePrivateProfileString(cifIndex, "_65to127Octets", buff, ciniFile); } } w: ptmp = psnval; if(ptmp) ptmpnext = ptmp->next; while(ptmp) { free(ptmp); ptmp = ptmpnext; if(ptmp) ptmpnext = ptmp->next; } return !ret; }
/* **** Test to assure the quality of GPSEphemerisStore class member getXvt() **** This test differs from the previous in that this getXvt() has another parameter **** for the IODC **** This test makes sure that exceptions are thrown if there is no ephemeris data **** for the given PRN and also that an exception is thrown if there is no data for **** the PRN at the given time. Furthermore, this test finds an Xvt for a given **** CivilTime Time and PRN and IODC. **** To see the Xvt information for the selected Time and PRN please see **** getXvt2.txt */ void xRinexEphemerisStore :: BCESgetXvt2Test (void) { ofstream fPRN1; ofstream fPRN15; ofstream fPRN32; fPRN1.open ("Logs/getXvt2_1.txt"); fPRN15.open ("Logs/getXvt2_15.txt"); fPRN32.open ("Logs/getXvt2_32.txt"); gpstk::Rinex3EphemerisStore Store; int nr; nr = Store.loadFile("TestRinex06.031"); std::list<gpstk::Rinex3NavData> R3NList; gpstk::GPSEphemerisStore GStore; list<gpstk::Rinex3NavData>::const_iterator it; Store.addToList(R3NList); for (it = R3NList.begin(); it != R3NList.end(); ++it) GStore.addEphemeris(gpstk::EngEphemeris(*it)); const short PRN0 = 0; // Zero PRN (Border test case) const short PRN1 = 1; const short PRN15 = 15; const short PRN32 = 32; const short PRN33 = 33; //Top PRN (33) (Border test case); gpstk::SatID sid0(PRN0,gpstk::SatID::systemGPS); gpstk::SatID sid1(PRN1,gpstk::SatID::systemGPS); gpstk::SatID sid15(PRN15,gpstk::SatID::systemGPS); gpstk::SatID sid32(PRN32,gpstk::SatID::systemGPS); gpstk::SatID sid33(PRN33,gpstk::SatID::systemGPS); short IODC0 = 89; short IODC1 = 372; short IODC15 = 455; short IODC32 = 441; short IODC33 = 392; gpstk::CivilTime Time(2006,1,31,11,45,0,2); gpstk::CivilTime bTime(2006,1,31,2,0,0,2); //Border Time (Time of Border test cases) const gpstk::CommonTime ComTime = (gpstk::CommonTime)Time; const gpstk::CommonTime CombTime = (gpstk::CommonTime)bTime; try { fPRN1 << GStore.getXvt(sid1,ComTime,IODC1) << endl; fPRN15 << GStore.getXvt(sid15,ComTime,IODC15) << endl; fPRN32 << GStore.getXvt(sid32,ComTime,IODC32) << endl; CPPUNIT_ASSERT_THROW(GStore.getXvt(sid0,CombTime,IODC0),gpstk::InvalidRequest); CPPUNIT_ASSERT_THROW(GStore.getXvt(sid33,CombTime,IODC33),gpstk::InvalidRequest); } catch (gpstk::Exception& e) { //cout << e; } CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/getXvt2_1.txt",(char*)"Checks/getPrnXvt1.chk")); CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/getXvt2_15.txt",(char*)"Checks/getPrnXvt15.chk")); CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/getXvt2_32.txt",(char*)"Checks/getPrnXvt32.chk")); }
void xRinexEphemerisStore :: BCESfindEphTest (void) { ofstream fPRN1; ofstream fPRN15; ofstream fPRN32; fPRN1.open ("Logs/findEph1.txt"); fPRN15.open ("Logs/findEph15.txt"); fPRN32.open ("Logs/findEph32.txt"); gpstk::Rinex3EphemerisStore Store; Store.loadFile("TestRinex06.031"); std::list<gpstk::Rinex3NavData> R3NList; gpstk::GPSEphemerisStore GStore; std::list<gpstk::Rinex3NavData>::const_iterator it; Store.addToList(R3NList); for (it = R3NList.begin(); it != R3NList.end(); ++it) GStore.addEphemeris(gpstk::EngEphemeris(*it)); // debug dump of GStore //ofstream GDumpData; //GDumpData.open("GDumpData.txt"); //GStore.dump(GDumpData,1); const short PRN0 = 0; // Zero PRN (Border test case) const short PRN1 = 1; const short PRN15 = 15; const short PRN32 = 32; const short PRN33 = 33; //Top PRN (33) (Border test case); const gpstk::SatID sid0(PRN0,gpstk::SatID::systemGPS); const gpstk::SatID sid1(PRN1,gpstk::SatID::systemGPS); const gpstk::SatID sid15(PRN15,gpstk::SatID::systemGPS); const gpstk::SatID sid32(PRN32,gpstk::SatID::systemGPS); const gpstk::SatID sid33(PRN33,gpstk::SatID::systemGPS); gpstk::CivilTime Time(2006,1,31,11,45,0,2); gpstk::CivilTime bTime(2006,1,31,2,0,0,2); //Border Time (Time of Border test cases) const gpstk::CommonTime ComTime = (gpstk::CommonTime)Time; const gpstk::CommonTime CombTime = (gpstk::CommonTime)bTime; try { gpstk::CivilTime crazy(1950,1,31,2,0,0,2); const gpstk::CommonTime Comcrazy = (gpstk::CommonTime)crazy; CPPUNIT_ASSERT_NO_THROW(GStore.findEphemeris(sid1,ComTime)); fPRN1 << GStore.findEphemeris(sid1,ComTime); fPRN15 << GStore.findEphemeris(sid15,ComTime); fPRN32 << GStore.findEphemeris(sid32,ComTime); CPPUNIT_ASSERT_THROW(GStore.findEphemeris(sid0,CombTime),gpstk::InvalidRequest); CPPUNIT_ASSERT_THROW(GStore.findEphemeris(sid33,CombTime),gpstk::InvalidRequest); CPPUNIT_ASSERT_THROW(GStore.findEphemeris(sid32,Comcrazy),gpstk::InvalidRequest); } catch (gpstk::Exception& e) { //cout << e; } CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/findEph1.txt",(char*)"Checks/findEph1.chk")); CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/findEph15.txt",(char*)"Checks/findEph15.chk")); CPPUNIT_ASSERT(fileEqualTest((char*)"Logs/findEph32.txt",(char*)"Checks/findEph32.chk")); }