69 EXPECT_EQ((a + b).Degrees(), 0);
70 EXPECT_EQ((a - b).Degrees(), -120);
71 EXPECT_EQ((b - a).Degrees(), 120);
78 EXPECT_EQ((b * 0.5).Degrees(), 30);
184 EXPECT_EQ(alignment.ih(), 0);
185 EXPECT_EQ(alignment.id(), 0);
186 EXPECT_EQ(alignment.np(), 0);
187 EXPECT_EQ(alignment.ch(), 0);
188 EXPECT_EQ(alignment.ma(), 0);
189 EXPECT_EQ(alignment.me(), 0);
190 alignment.setCorrections(1, 2, 3, 4, 5, 6);
191 EXPECT_EQ(alignment.ih(), 1);
192 EXPECT_EQ(alignment.id(), 2);
193 EXPECT_EQ(alignment.np(), 4);
194 EXPECT_EQ(alignment.ch(), 3);
195 EXPECT_EQ(alignment.ma(), 5);
196 EXPECT_EQ(alignment.me(), 6);
203 alignment.setCorrections(0, 0, 0, 0, 0, 1);
206 alignment.instrumentToObserved(
Angle(0),
Angle(0), &oHa, &oDec);
211 alignment.instrumentToObserved(
Angle(90),
Angle(0), &oHa, &oDec);
213 EXPECT_NEAR(oDec.
Degrees(), 0, 1e10);
216 alignment.instrumentToObserved(
Angle(0),
Angle(80), &oHa, &oDec);
218 EXPECT_FLOAT_EQ(oDec.
Degrees(), 81);
221 alignment.instrumentToObserved(
Angle(0),
Angle(90), &oHa, &oDec);
222 EXPECT_FLOAT_EQ(oHa.
HoursHa(), 12);
223 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
226 alignment.instrumentToObserved(
Angle(0),
Angle(89), &oHa, &oDec);
228 EXPECT_FLOAT_EQ(oDec.
Degrees(), 90);
231 alignment.instrumentToObserved(
Angle(90),
Angle(89), &oHa, &oDec);
232 EXPECT_NEAR(oHa.
HoursHa(), 8.9997, 0.0001);
233 EXPECT_FLOAT_EQ(oDec.
Degrees(), 88.5858);
240 alignment.setCorrections(0, 0, 0, 0, 0, 1);
243 alignment.observedToInstrument(
Angle(0),
Angle(0), &oHa, &oDec);
248 alignment.instrumentToObserved(
Angle(-90),
Angle(0), &oHa, &oDec);
250 EXPECT_NEAR(oDec.
Degrees(), 0, 1e10);
253 alignment.observedToInstrument(
Angle(0),
Angle(80), &oHa, &oDec);
255 EXPECT_FLOAT_EQ(oDec.
Degrees(), 79);
258 alignment.observedToInstrument(
Angle(90),
Angle(90), &oHa, &oDec);
259 EXPECT_NEAR(oHa.
HoursHa(), 0, 0.0001);
260 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
263 alignment.observedToInstrument(
Angle(180),
Angle(89), &oHa, &oDec);
265 EXPECT_FLOAT_EQ(oDec.
Degrees(), 90);
268 alignment.observedToInstrument(
Angle(-90),
Angle(89), &oHa, &oDec);
269 EXPECT_NEAR(oHa.
HoursHa(), -3.0003, 0.00001);
270 EXPECT_FLOAT_EQ(oDec.
Degrees(), 88.5858);
278 alignment.setCorrections(0, 0, 0, 0, 0, -1);
281 alignment.observedToInstrument(
Angle(0),
Angle(0), &oHa, &oDec);
286 alignment.instrumentToObserved(
Angle(-90),
Angle(0), &oHa, &oDec);
288 EXPECT_NEAR(oDec.
Degrees(), 0, 1e10);
291 alignment.observedToInstrument(
Angle(0),
Angle(80), &oHa, &oDec);
293 EXPECT_FLOAT_EQ(oDec.
Degrees(), 81);
296 alignment.observedToInstrument(
Angle(90),
Angle(90), &oHa, &oDec);
297 EXPECT_NEAR(oHa.
HoursHa(), 12, 0.0001);
298 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
301 alignment.observedToInstrument(
Angle(0),
Angle(89), &oHa, &oDec);
303 EXPECT_FLOAT_EQ(oDec.
Degrees(), 90);
306 alignment.observedToInstrument(
Angle(-90),
Angle(89), &oHa, &oDec);
307 EXPECT_NEAR(oHa.
HoursHa(), -8.9997, 0.00001);
308 EXPECT_FLOAT_EQ(oDec.
Degrees(), 88.5858);
315 alignment.setCorrections(0, 0, 0, 0, 1, 0);
318 alignment.instrumentToObserved(
Angle(0),
Angle(0), &oHa, &oDec);
323 alignment.instrumentToObserved(
Angle(-90),
Angle(0), &oHa, &oDec);
328 alignment.instrumentToObserved(
Angle(90),
Angle(80), &oHa, &oDec);
330 EXPECT_FLOAT_EQ(oDec.
Degrees(), 79);
333 alignment.instrumentToObserved(
Angle(0),
Angle(90), &oHa, &oDec);
334 EXPECT_FLOAT_EQ(oHa.
HoursHa(), 6);
335 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
338 alignment.instrumentToObserved(
Angle(-90),
Angle(89), &oHa, &oDec);
340 EXPECT_FLOAT_EQ(oDec.
Degrees(), 90);
343 alignment.instrumentToObserved(
Angle(180),
Angle(89), &oHa, &oDec);
344 EXPECT_NEAR(oHa.
HoursHa(), 9.0003, 0.0001);
345 EXPECT_FLOAT_EQ(oDec.
Degrees(), 88.5858);
353 alignment.setCorrections(0, 0, 0, 0, -1, 0);
356 alignment.instrumentToObserved(
Angle(0),
Angle(0), &oHa, &oDec);
361 alignment.instrumentToObserved(
Angle(-90),
Angle(0), &oHa, &oDec);
366 alignment.instrumentToObserved(
Angle(90),
Angle(80), &oHa, &oDec);
368 EXPECT_FLOAT_EQ(oDec.
Degrees(), 81);
371 alignment.instrumentToObserved(
Angle(0),
Angle(90), &oHa, &oDec);
372 EXPECT_FLOAT_EQ(oHa.
HoursHa(), -6);
373 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
376 alignment.instrumentToObserved(
Angle(90),
Angle(89), &oHa, &oDec);
378 EXPECT_FLOAT_EQ(oDec.
Degrees(), 90);
381 alignment.instrumentToObserved(
Angle(0),
Angle(89), &oHa, &oDec);
382 EXPECT_NEAR(oHa.
HoursHa(), -2.9997, 0.0001);
383 EXPECT_FLOAT_EQ(oDec.
Degrees(), 88.5858);
390 alignment.setCorrections(0, 0, 0, 0, 1, 0);
393 alignment.observedToInstrument(
Angle(0),
Angle(0), &iHa, &iDec);
398 alignment.observedToInstrument(
Angle(90),
Angle(0), &iHa, &iDec);
403 alignment.observedToInstrument(
Angle(-90),
Angle(80), &iHa, &iDec);
405 EXPECT_FLOAT_EQ(iDec.
Degrees(), 79);
408 alignment.observedToInstrument(
Angle(90),
Angle(90), &iHa, &iDec);
409 EXPECT_NEAR(iHa.
HoursHa(), -6, 0.0001);
410 EXPECT_FLOAT_EQ(iDec.
Degrees(), 89);
413 alignment.observedToInstrument(
Angle(0),
Angle(89), &iHa, &iDec);
414 EXPECT_NEAR(iHa.
HoursHa(), -2.9997, 0.00001);
415 EXPECT_FLOAT_EQ(iDec.
Degrees(), 88.5858);
423 alignment.setCorrections(0, 0, 1, 0, 0, 0);
426 alignment.instrumentToObserved(
Angle(0),
Angle(0), &oHa, &oDec);
431 alignment.instrumentToObserved(
Angle(-90),
Angle(0), &oHa, &oDec);
436 alignment.instrumentToObserved(
Angle(90),
Angle(60), &oHa, &oDec);
438 EXPECT_FLOAT_EQ(oDec.
Degrees(), 60);
441 alignment.instrumentToObserved(
Angle(0),
Angle(90), &oHa, &oDec);
443 EXPECT_FLOAT_EQ(oDec.
Degrees(), 90);
446 alignment.instrumentToObserved(
Angle(-90),
Angle(89), &oHa, &oDec);
447 EXPECT_NEAR(oHa.
HoursHa(), -2.180087, 0.0001);
448 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
451 alignment.instrumentToObserved(
Angle(180),
Angle(89), &oHa, &oDec);
452 EXPECT_NEAR(oHa.
HoursHa(), -8.180087, 0.0001);
453 EXPECT_FLOAT_EQ(oDec.
Degrees(), 89);
460 alignment.setCorrections(0, 0, 1, 0, 0, 0);
463 alignment.observedToInstrument(
Angle(0),
Angle(0), &iHa, &iDec);
468 alignment.observedToInstrument(
Angle(90),
Angle(0), &iHa, &iDec);
473 alignment.observedToInstrument(
Angle(-90),
Angle(60), &iHa, &iDec);
475 EXPECT_FLOAT_EQ(iDec.
Degrees(), 60);
478 alignment.observedToInstrument(
Angle(90),
Angle(90), &iHa, &iDec);
480 EXPECT_FLOAT_EQ(iDec.
Degrees(), 90);
483 alignment.observedToInstrument(
Angle(0),
Angle(89), &iHa, &iDec);
484 EXPECT_NEAR(iHa.
HoursHa(), -3.81991, 0.00001);
485 EXPECT_FLOAT_EQ(iDec.
Degrees(), 89);
493 alignment.setCorrections(0, 0, 0, 0, 1, 1);
496 alignment.instrumentToObserved(
Angle(0),
Angle(0), &oHa, &oDec);
497 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
498 EXPECT_NEAR(iHa.
Degrees(), 0, 0.00001);
499 EXPECT_NEAR(iDec.
Degrees(), 0, 0.00001);
502 alignment.instrumentToObserved(
Angle(90),
Angle(0), &oHa, &oDec);
503 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
504 EXPECT_NEAR(iHa.
Degrees(), 90, 0.00001);
505 EXPECT_NEAR(iDec.
Degrees(), 0, 0.00001);
508 alignment.instrumentToObserved(
Angle(0),
Angle(80), &oHa, &oDec);
509 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
510 EXPECT_NEAR(iHa.
Degrees(), 0, 0.00001);
511 EXPECT_NEAR(iDec.
Degrees(), 80, 0.00001);
514 alignment.instrumentToObserved(
Angle(-90),
Angle(80), &oHa, &oDec);
515 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
516 EXPECT_NEAR(iHa.
Degrees(), -90, 0.00001);
517 EXPECT_NEAR(iDec.
Degrees(), 80, 0.00001);
520 alignment.instrumentToObserved(
Angle(0),
Angle(90), &oHa, &oDec);
521 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
523 EXPECT_NEAR(iDec.
Degrees(), 90, 0.00001);
526 alignment.instrumentToObserved(
Angle(0),
Angle(89), &oHa, &oDec);
527 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
528 EXPECT_NEAR(iHa.
Degrees(), 0, 0.00001);
529 EXPECT_NEAR(iDec.
Degrees(), 89, 0.00001);
532 alignment.instrumentToObserved(
Angle(90),
Angle(89), &oHa, &oDec);
533 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
534 EXPECT_NEAR(iHa.
Degrees(), 90, 0.00001);
535 EXPECT_NEAR(iDec.
Degrees(), 89, 0.00001);
538 alignment.instrumentToObserved(
Angle(0),
Angle(89), &oHa, &oDec);
539 alignment.observedToInstrument(oHa, oDec, &iHa, &iDec);
540 EXPECT_NEAR(iHa.
Degrees(), 0, 0.00001);
541 EXPECT_NEAR(iDec.
Degrees(), 89, 0.00001);
void configure(const std::string &outputFile, const loggerConf configuration, const int fileVerbosityLevel, const int screenVerbosityLevel)
Method to configure the logger. Called by the DEBUG_CONF() macro. To make implementation easier,...