51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#include "musrParameters.hh"
|
|
|
|
#include <cstdlib>
|
|
#include <iostream>
|
|
#include <string>
|
|
|
|
namespace {
|
|
|
|
bool parseBoolean(const char* value)
|
|
{
|
|
return std::string(value)=="true";
|
|
}
|
|
|
|
bool checkEqual(const char* name, int actual, int expected)
|
|
{
|
|
if (actual==expected) return true;
|
|
std::cerr<<name<<": expected "<<expected<<", got "<<actual<<'\n';
|
|
return false;
|
|
}
|
|
|
|
bool checkEqual(const char* name, bool actual, bool expected)
|
|
{
|
|
if (actual==expected) return true;
|
|
std::cerr<<name<<": expected "<<expected<<", got "<<actual<<'\n';
|
|
return false;
|
|
}
|
|
|
|
} // namespace
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
if (argc<2) {
|
|
std::cerr<<"usage: musrParametersTests <macro> [expected values]\n";
|
|
return 2;
|
|
}
|
|
|
|
musrParameters parameters(argv[1]);
|
|
|
|
if (argc!=6) {
|
|
std::cerr<<"expected event count, GPS, optical, and optical-unprocess values\n";
|
|
return 2;
|
|
}
|
|
|
|
bool passed = true;
|
|
passed &= checkEqual("event count",musrParameters::nrOfEventsToBeGenerated,std::atoi(argv[2]));
|
|
passed &= checkEqual("GPS enabled",musrParameters::boolG4GeneralParticleSource,parseBoolean(argv[3]));
|
|
passed &= checkEqual("optical enabled",musrParameters::boolG4OpticalPhotons,parseBoolean(argv[4]));
|
|
passed &= checkEqual("optical unprocess enabled",musrParameters::boolG4OpticalPhotonsUnprocess,parseBoolean(argv[5]));
|
|
return passed ? 0 : 1;
|
|
}
|