/* * testNoiseModel.cpp * * Created on: Jan 13, 2010 * Author: richard */ #include #include #include #include "NoiseModel.h" using namespace std; using namespace boost; using namespace gtsam; class TakesNoiseModel { public: NoiseModel noiseModel_; public: //template TakesNoiseModel(const NoiseModel& noiseModel): noiseModel_(noiseModel) {} }; TEST(NoiseModel, sharedptr) { TakesNoiseModel tnm1(Sigma(1.0)); cout << endl; TakesNoiseModel tnm2(tnm1.noiseModel_); if(dynamic_pointer_cast(tnm1.noiseModel_)) cout << "tnm1 has a Sigma!" << endl; if(dynamic_pointer_cast(tnm1.noiseModel_)) cout << "tnm1 has a Variance!" << endl; if(dynamic_pointer_cast(tnm1.noiseModel_)) cout << "tnm1 has an Isotropic!" << endl; if(dynamic_pointer_cast(tnm1.noiseModel_)) cout << "tnm1 has a NoiseModelBase!" << endl; if(dynamic_pointer_cast(tnm2.noiseModel_)) cout << "tnm2 has a Sigma!" << endl; if(dynamic_pointer_cast(tnm2.noiseModel_)) cout << "tnm2 has a Variance!" << endl; if(dynamic_pointer_cast(tnm2.noiseModel_)) cout << "tnm2 has an Isotropic!" << endl; if(dynamic_pointer_cast(tnm2.noiseModel_)) cout << "tnm2 has a NoiseModelBase!" << endl; } /* ************************************************************************* */ int main() { TestResult tr; return TestRegistry::runAllTests(tr); } /* ************************************************************************* */