47 #define LDEXP(x,y) ldexp(x,y)
49 #define LDEXP(x,y) std::ldexp(x,y)
60 { 583228942, 824945128, 904134685, 184026330, 459310087,
61 16899638, 845363969, 0x0f647980, 4193148, 1073290676,
62 583228942, 824953464, 260012308, 225364840, 787693093,
63 1065730353, 298759921, 46377054, 57870868, 8172,
64 583228942, 824962032, 1072401983, 485782594, 84477,
65 301605863, 145566781, 506082625, 1072230894, 259901040 };
147 const uint32_t data1[10] =
148 { 0x22FFFFFF, 0x3FFFF930, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF,
149 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF };
150 const uint32_t data2[10] =
151 { 0x22FFFFFF, 0x3FFFFA88, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF,
152 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF };
153 const uint32_t data3[10] =
154 { 0x22FFFFFF, 0x3FFFFBD0, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF,
155 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF };
160 for (
int i=0; i<10; ++i) fakeEphemeris.
subframeStore[0][i] = data1[i];
161 for (
int i=0; i<10; ++i) fakeEphemeris.
subframeStore[1][i] = data2[i];
162 for (
int i=0; i<10; ++i) fakeEphemeris.
subframeStore[2][i] = data3[i];
164 return fakeEphemeris;
179 bool skipASAlert =
false)
205 bool skipASAlert =
false)
226 bool skipASAlert =
false)
244 TUDEF(
"EngEphemeris",
"Default Constructor");
245 unsigned badCount = 0;
270 for (
unsigned i=0; i<3; i++)
272 for (
unsigned j=0; j<10; j++)
281 for (
unsigned i=0; i<3; i++)
298 TUDEF(
"EngEphemeris",
"addSubframe");
307 const uint32_t subframe1P[10] =
308 { 0x22c000e4, 0x215ba160, 0x00180012, 0x1fffffc0, 0x3fffffc3,
309 0x3ffffffc, 0x3fffc009, 0x16d904f0, 0x003fdbac, 0x1b83ed54 };
310 const uint32_t subframe2P[10] =
311 { 0x22c000e4, 0x215bc2f0, 0x16c2eb4d, 0x09f7c524, 0x2fdc3384,
312 0x0289c0dd, 0x0d5ecc38, 0x036b6842, 0x034f4df0, 0x1904c0b4 };
313 const uint32_t subframe3P[10] =
314 { 0x22c000e4, 0x215be378, 0x3ffcc344, 0x1a8441d8, 0x3ff80b74,
315 0x1c8deb5e, 0x0a34d525, 0x14a5012e, 0x3fee8c06, 0x16c35c80 };
316 dataStore = fakeEphemerisInit();
320 subframe1Check(dataStore, testFramework);
323 subframe2Check(dataStore, testFramework);
326 subframe3Check(dataStore, testFramework);
334 TUDEF(
"EngEphemeris",
"addSubframeNoParity");
337 dataStore = fakeEphemerisInit();
404 const uint32_t subframe1[10] =
405 { 0x8B0003, 0x856E84, 0x006000, 0x7FFFFF, 0xFFFFFF,
406 0xFFFFFF, 0xFFFF00, 0x5B6413, 0x00FF6E, 0x91F04C };
409 subframe1Check(dataStore, testFramework);
471 const uint32_t subframe2[10] =
472 { 0x8B0003, 0x856F08, 0x5B0BAD, 0x0CB106, 0x9AAF1F,
473 0x0A2703, 0x357B30, 0x0DADA1, 0x0D3D37, 0x641300 };
476 subframe2Check(dataStore, testFramework);
535 const uint32_t subframe3[10] =
536 { 0x8B0003, 0x856F8C, 0xFFF30D, 0x6A1107, 0xFFE02D,
537 0x7237AD, 0x28D354, 0x529404, 0xFFBA30, 0x5B0D70 };
540 subframe3Check(dataStore, testFramework);
548 TUDEF(
"EngEphemeris",
"setSF1");
576 -.165982783074*pow(b10,-10),
577 -.839701388031*pow(b10,-3),
581 subframe1Check(dataStore, testFramework);
592 TUDEF(
"EngEphemeris",
"setSF2");
613 .11604054784 * pow(b10,-8),
615 .484101474285*pow(b10,-5),
616 .626740418375*pow(b10,-2),
617 .652112066746*pow(b10,-5),
618 .515365489006*pow(b10,4),
622 subframe2Check(dataStore, testFramework);
632 TUDEF(
"EngEphemeris",
"setSF3");
651 -.242143869400*pow(b10,-7),
653 -.596046447754*pow(b10,-7),
657 -2.0318111637599545*pow(b10,-9),
658 .307155651409*pow(b10,-9));
660 subframe3Check(dataStore, testFramework);
670 TUDEF(
"EngEphemeris",
"Get Methods");
717 TUDEF(
"EngEphemeris",
"loadData");
721 unsigned short tlm[3] = {0,0,0};
722 const long how[3] = {409902, 409908, 409914};
723 const short ASalert[3] = {0,0,0};
725 dataStore.
loadData((std::string)
"No Idea",
741 -.165982783074*pow(b10,-10),
742 -.839701388031*pow(b10,-3),
745 .11604054784 * pow(b10,-8),
747 .484101474285*pow(b10,-5),
748 .626740418375*pow(b10,-2),
749 .652112066746*pow(b10,-5),
750 .515365489006*pow(b10,4),
753 -.242143869400*pow(b10,-7),
755 -.596046447754*pow(b10,-7),
759 -2.0318111637599545*pow(b10,-9),
760 .307155651409*pow(b10,-9));
762 subframe1Check(dataStore, testFramework);
763 subframe2Check(dataStore, testFramework);
764 subframe3Check(dataStore, testFramework);
772 TUDEF(
"EngEphemeris",
"addIncomplete");
776 const uint32_t subframe1P[8] =
777 { 0x00180012, 0x1fffffc0, 0x3fffffc3, 0x3ffffffc,
778 0x3fffc009, 0x16d904f0, 0x003fdbac, 0x1b83ed54 };
779 const uint32_t subframe2P[8] =
780 { 0x16c2eb4d, 0x09f7c524, 0x2fdc3384, 0x0289c0dd,
781 0x0d5ecc38, 0x036b6842, 0x034f4df0, 0x1904c0b4 };
782 const uint32_t subframe3P[8] =
783 { 0x3ffcc344, 0x1a8441d8, 0x3ff80b74, 0x1c8deb5e,
784 0x0a34d525, 0x14a5012e, 0x3fee8c06, 0x16c35c80 };
787 subframe3P, 444, 1025, 6, 1));
790 subframe1Check(dataStore, testFramework,
true);
791 subframe2Check(dataStore, testFramework,
true);
792 subframe3Check(dataStore, testFramework,
true);
800 TUDEF(
"EngEphemeris",
"addSubframe");
842 TUDEF(
"EngEphemeris",
"operator== / !=");
872 eephCopy.
satSys =
"twaffle";
991 unsigned errorTotal = 0;
1004 errorTotal += testClass.
setSF1Test(dataStore);
1005 errorTotal += testClass.
setSF2Test(dataStore);
1006 errorTotal += testClass.
setSF3Test(dataStore);
1007 errorTotal += testClass.
getTest(dataStore);
1015 cout <<
"Total Failures for " << __FILE__ <<
": " << errorTotal << endl;