Skip to content

Commit

Permalink
Updated Unit Test for OSIRIS-REx SamCam (#4378)
Browse files Browse the repository at this point in the history
* Updated Unit Test for SamCam

* Addressed PR feedback
  • Loading branch information
amystamile-usgs authored Mar 30, 2021
1 parent 936293c commit 9820ba9
Showing 1 changed file with 39 additions and 17 deletions.
56 changes: 39 additions & 17 deletions isis/tests/OsirisRexOCamsCameraTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@
#include <gtest/gtest.h>

using namespace Isis;
using namespace std;
using namespace std;

TEST_F(OsirisRexCube, PolyMath) {
setInstrument("-64360", "PolyCam");

OsirisRexOcamsCamera *cam = (OsirisRexOcamsCamera *)testCube->camera();

EXPECT_EQ(cam->instrumentRotation()->Frame(), -27002);

// Test kernel IDs
EXPECT_EQ(cam->CkFrameId(), -64000);
EXPECT_EQ(cam->CkReferenceId(), 1);
EXPECT_EQ(cam->SpkTargetId(), -64);
EXPECT_EQ(cam->CkReferenceId(), 1);
EXPECT_EQ(cam->SpkTargetId(), -64);
EXPECT_EQ(cam->SpkReferenceId(), 1);

// Test name methods
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameLong(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameLong(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameShort(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentNameLong(), "PolyMath Camera");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentNameShort(), "PolyCam");
Expand All @@ -42,34 +42,56 @@ TEST_F(OsirisRexCube, PolyMath) {
EXPECT_NEAR(cam->UniversalLatitude(), 9.26486, 0.0001);
EXPECT_NEAR(cam->UniversalLongitude(), 276.167, 0.0001);

EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
EXPECT_NEAR(cam->Line(), 5, 0.01);
EXPECT_NEAR(cam->Sample(), 5, 0.01);
}


TEST_F(OsirisRexCube, MappingCam) {
setInstrument("-64361", "PolyCam");
setInstrument("-64361", "MapCam");

OsirisRexOcamsCamera *cam = (OsirisRexOcamsCamera *)testCube->camera();;
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameLong(), "OSIRIS-REx");
OsirisRexOcamsCamera *cam = (OsirisRexOcamsCamera *)testCube->camera();
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameLong(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameShort(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentNameLong(), "Mapping Camera");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentNameShort(), "MapCam");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentId(), "PolyCam");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentId(), "MapCam");
}


TEST_F(OsirisRexCube, SamplingCam) {
setInstrument("-64362", "PolyCam");
setInstrument("-64362", "SamCam");

OsirisRexOcamsCamera *cam = (OsirisRexOcamsCamera *)testCube->camera();

EXPECT_EQ(cam->instrumentRotation()->Frame(), -27002);

// Test kernel IDs
EXPECT_EQ(cam->CkFrameId(), -64000);
EXPECT_EQ(cam->CkReferenceId(), 1);
EXPECT_EQ(cam->SpkTargetId(), -64);
EXPECT_EQ(cam->SpkReferenceId(), 1);

OsirisRexOcamsCamera *cam = (OsirisRexOcamsCamera *)testCube->camera();;
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameLong(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameLong(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->spacecraftNameShort(), "OSIRIS-REx");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentNameLong(), "Sampling Camera");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentNameShort(), "SamCam");
EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentId(), "PolyCam");

EXPECT_PRED_FORMAT2(AssertQStringsEqual, cam->instrumentId(), "SamCam");

}
const PvlGroup &inst = testCube->label()->findGroup("Instrument", Pvl::Traverse);
double exposureDuration = ((double) inst["ExposureDuration"])/1000;
cam->SetImage (0.5, 0.5);
double et = cam->time().Et();
pair <iTime, iTime> shuttertimes = cam->ShutterOpenCloseTimes(et, exposureDuration);
EXPECT_NEAR(shuttertimes.first.Et(), 502476937.73296136, 1e-14);
EXPECT_NEAR(shuttertimes.second.Et(), 502476937.83296138, 1e-14);

EXPECT_TRUE(cam->SetImage(5, 5));
EXPECT_NEAR(cam->UniversalLatitude(), 9.26486, 0.0001);
EXPECT_NEAR(cam->UniversalLongitude(), 276.167, 0.0001);

EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
EXPECT_NEAR(cam->Line(), 5, 0.01);
EXPECT_NEAR(cam->Sample(), 5, 0.01);
}

0 comments on commit 9820ba9

Please sign in to comment.