Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

testCfgConfig.cc

Go to the documentation of this file.
00001 
00002 // $Id: testCfgConfig.cc,v 1.1 2007/02/09 05:38:28 fmwk Exp $
00003 //
00005 //
00006 // messier@indiana.edu
00008 #include "Config/Config.h"
00009 #include "Config/Param.h"
00010 #include "Config/ConfigBuilder.h"
00011 
00012 //......................................................................
00013 
00014 int main(void) 
00015 {  
00016   bool        p1 = true;
00017   int         p2 = 11121970;
00018   float       p3 = 1112.1970;
00019   double      p4 = 111219.70;
00020   std::string p5 = "The dog barks backwards...";
00021   
00022   bool        po1;
00023   int         po2;
00024   float       po3;
00025   double      po4;
00026   std::string po5;
00027   
00028   cfg::Param* param1 = new cfg::Param("p1",p1,"bool  param");
00029   cfg::Param* param2 = new cfg::Param("p2",p2,"int param");
00030   cfg::Param* param3 = new cfg::Param("p3",p3,"float param");
00031   cfg::Param* param4 = new cfg::Param("p4",p4,"double param");
00032   cfg::Param* param5 = new cfg::Param("p5",p5,"string param");
00033   
00034   cfg::Config cfg("TestConfig","default",__FILE__);
00035   cfg.AdoptParam(param1);
00036   cfg.AdoptParam(param2);
00037   cfg.AdoptParam(param3);
00038   cfg.AdoptParam(param4);
00039   cfg.AdoptParam(param5);
00040   
00041   cfg("p1").Get(po1); if (po1 != p1) abort();
00042   cfg("p2").Get(po2); if (po2 != p2) abort();
00043   cfg("p3").Get(po3); if (po3 != p3) abort();
00044   cfg("p4").Get(po4); if (po4 != p4) abort();
00045   cfg("p5").Get(po5); if (po5 != p5) abort();
00046   
00047   std::cerr << 
00048     cfg.GetName() << "." <<
00049     cfg.GetVersion() <<
00050     "(" << cfg.GetSource() << ") " << std::endl <<
00051     cfg("p1") << " " <<
00052     cfg("p2") << " " <<
00053     cfg("p3") << " " <<
00054     cfg("p4") << " " <<
00055     cfg("p5") << " " <<
00056     std::endl;
00057 
00058   try {
00059     int dne;
00060     cfg("DoesNotExist").Get( dne );
00061   }
00062   catch (cfg::Exception& e) {
00063     std::cerr 
00064       << "|** Caught exception produced when trying to extract "
00065       << "non-existent parameter: " << std::endl 
00066       << "|** Correct behavior." << std::endl;
00067   }
00068   
00069   return 0; 
00070 }
00071 

Generated on Sat Oct 11 02:35:28 2008 for NOvA Offline by  doxygen 1.3.9.1