25 #include "grins_config.h" 
   27 #ifdef GRINS_HAVE_CPPUNIT 
   29 #include <cppunit/extensions/HelperMacros.h> 
   30 #include <cppunit/TestCase.h> 
   57         std::string str_1(
"N->N2");
 
   58         std::vector<std::string> test_1_split_exact(2);
 
   59         test_1_split_exact[0] = std::string(
"N");
 
   60         test_1_split_exact[1] = std::string(
"N2");
 
   62         std::vector<std::string> str_1_split;
 
   64         this->
test_string( str_1_split, test_1_split_exact );
 
   68         std::string str_2(
"N+C(s)->CN");
 
   69         std::vector<std::string> test_2_split_exact(2);
 
   70         test_2_split_exact[0] = std::string(
"N+C(s)");
 
   71         test_2_split_exact[1] = std::string(
"CN");
 
   73         std::vector<std::string> str_2_split;
 
   75         this->
test_string( str_2_split, test_2_split_exact );
 
   79         std::string str_3(
"u:v:w:T:p:w_N:w_N2:p0");
 
   80         std::vector<std::string> test_3_split_exact(8);
 
   81         test_3_split_exact[0] = std::string(
"u");
 
   82         test_3_split_exact[1] = std::string(
"v");
 
   83         test_3_split_exact[2] = std::string(
"w");
 
   84         test_3_split_exact[3] = std::string(
"T");
 
   85         test_3_split_exact[4] = std::string(
"p");
 
   86         test_3_split_exact[5] = std::string(
"w_N");
 
   87         test_3_split_exact[6] = std::string(
"w_N2");
 
   88         test_3_split_exact[7] = std::string(
"p0");
 
   90         std::vector<std::string> str_3_split;
 
   92         this->
test_string( str_3_split, test_3_split_exact );
 
   96         std::string str_4(
"u v w T p w_N w_N2 p0");
 
   97         std::vector<std::string> test_4_split_exact(8);
 
   98         test_4_split_exact[0] = std::string(
"u");
 
   99         test_4_split_exact[1] = std::string(
"v");
 
  100         test_4_split_exact[2] = std::string(
"w");
 
  101         test_4_split_exact[3] = std::string(
"T");
 
  102         test_4_split_exact[4] = std::string(
"p");
 
  103         test_4_split_exact[5] = std::string(
"w_N");
 
  104         test_4_split_exact[6] = std::string(
"w_N2");
 
  105         test_4_split_exact[7] = std::string(
"p0");
 
  107         std::vector<std::string> str_4_split;
 
  109         this->
test_string( str_4_split, test_4_split_exact );
 
  115       std::string one = 
"1";
 
  116       int ione = GRINS::StringUtilities::string_to_T<int>(one);
 
  117       unsigned int uione = GRINS::StringUtilities::string_to_T<unsigned int>(one);
 
  118       CPPUNIT_ASSERT_EQUAL(1,ione);
 
  119       CPPUNIT_ASSERT_EQUAL((
unsigned int)1,uione);
 
  121       std::string tenp1 = 
"10.1";
 
  122       double dtenp1 = GRINS::StringUtilities::string_to_T<double>(tenp1);
 
  123       CPPUNIT_ASSERT_DOUBLES_EQUAL(10.1,
 
  125                                    std::numeric_limits<double>::epsilon());
 
  130       std::string one_exact = 
"1";
 
  131       std::string tenp1_exact = 
"10.1";
 
  134         std::string one_test =  GRINS::StringUtilities::T_to_string<int>(1);
 
  135         CPPUNIT_ASSERT_EQUAL(one_exact,one_test);
 
  139         std::string one_test =  GRINS::StringUtilities::T_to_string<unsigned int>(1);
 
  140         CPPUNIT_ASSERT_EQUAL(one_exact,one_test);
 
  144         std::string tenp1_test =  GRINS::StringUtilities::T_to_string<double>(10.1);
 
  145         CPPUNIT_ASSERT_EQUAL(tenp1_exact,tenp1_test);
 
  152                       const std::vector<std::string>& exact )
 
  154       CPPUNIT_ASSERT_EQUAL(test.size(), exact.size() );
 
  156       for( 
unsigned int s = 0; s < test.size(); s++ )
 
  157         CPPUNIT_ASSERT_EQUAL( test[s], exact[s] );
 
  166 #endif // GRINS_HAVE_CPPUNIT 
CPPUNIT_TEST(test_split_string)
 
CPPUNIT_TEST_SUITE_REGISTRATION(AntiochAirNASA9ThermoTest)
 
int test(ChemicalMixture &chem_mixture)
 
void test_string(const std::vector< std::string > &test, const std::vector< std::string > &exact)
 
CPPUNIT_TEST_SUITE(StringUtilitiesTest)
 
void split_string(const std::string &input, const std::string &delimiter, std::vector< std::string > &results)