UUIDTests.cpp
Go to the documentation of this file.
00001 // -*- C++ -*-
00012 /*
00013  * $Log$
00014  *
00015  */
00016 
00017 #ifndef UUID_cpp
00018 #define UUID_cpp
00019 
00020 #include <cppunit/ui/text/TestRunner.h>
00021 #include <cppunit/TextOutputter.h>
00022 #include <cppunit/extensions/TestFactoryRegistry.h>
00023 #include <cppunit/extensions/HelperMacros.h>
00024 #include <cppunit/TestAssert.h>
00025 
00026 #include <coil/UUID.h>
00027 
00033 namespace coilUUID
00034 {
00035   class UUIDTests
00036    : public CppUnit::TestFixture
00037   {
00038     CPPUNIT_TEST_SUITE(UUIDTests);
00039     CPPUNIT_TEST(test_UUID_to_string);
00040     CPPUNIT_TEST(test_UUID_Generator_init);
00041     CPPUNIT_TEST(test_UUID_Generator_generateUUID);
00042     CPPUNIT_TEST_SUITE_END();
00043   
00044   private:
00045 //    uuid_t uuid;
00046     coil::UUID * uu;
00047     coil::UUID_Generator *ug;
00048   
00049   public:
00050   
00054     UUIDTests()
00055     {
00056     }
00057     
00061     ~UUIDTests()
00062     {
00063     }
00064   
00068     virtual void setUp()
00069     {
00070 //      uu = new coil::UUID(&uuid);
00071       uu = new coil::UUID();
00072 //      std::cout << "UUID : " << uu->to_string() << std::endl ;
00073       ug = new coil::UUID_Generator();
00074     }
00075     
00079     virtual void tearDown()
00080     {
00081       delete uu;
00082       delete ug;
00083     }
00084   
00085     /* test case */
00086 
00090     void test_UUID_to_string()
00091     {
00092       CPPUNIT_ASSERT(isUuidString(uu->to_string()));
00093     }
00094 
00098     void test_UUID_Generator_init()
00099     {
00100       // init()は呼ばれても何もしないメソドなので、テスト内容無し
00101     }
00102 
00106     void test_UUID_Generator_generateUUID()
00107     {
00108       int n(1);
00109       int h(2);
00110       coil::UUID * p;
00111       
00112       p = ug->generateUUID(n, h);
00113 //      std::cout << "UUID : " << p->to_string() << std::endl;
00114       CPPUNIT_ASSERT(isUuidString(p->to_string()));
00115       delete p;
00116     }
00117 
00121     bool isUuidString(const char* aString)
00122         {
00123             bool result(false);
00124     
00125             if (!isxdigit(*aString)) return result; aString++;
00126             if (!isxdigit(*aString)) return result; aString++;
00127             if (!isxdigit(*aString)) return result; aString++;
00128             if (!isxdigit(*aString)) return result; aString++;
00129             if (!isxdigit(*aString)) return result; aString++;
00130             if (!isxdigit(*aString)) return result; aString++;
00131             if (!isxdigit(*aString)) return result; aString++;
00132             if (!isxdigit(*aString)) return result; aString++;
00133             if (*aString != '-') return result; aString++;
00134             if (!isxdigit(*aString)) return result; aString++;
00135             if (!isxdigit(*aString)) return result; aString++;
00136             if (!isxdigit(*aString)) return result; aString++;
00137             if (!isxdigit(*aString)) return result; aString++;
00138             if (*aString != '-') return result; aString++;
00139             if (!isxdigit(*aString)) return result; aString++;
00140             if (!isxdigit(*aString)) return result; aString++;
00141             if (!isxdigit(*aString)) return result; aString++;
00142             if (!isxdigit(*aString)) return result; aString++;
00143             if (*aString != '-') return result; aString++;
00144             if (!isxdigit(*aString)) return result; aString++;
00145             if (!isxdigit(*aString)) return result; aString++;
00146             if (!isxdigit(*aString)) return result; aString++;
00147             if (!isxdigit(*aString)) return result; aString++;
00148             if (*aString != '-') return result; aString++;
00149             if (!isxdigit(*aString)) return result; aString++;
00150             if (!isxdigit(*aString)) return result; aString++;
00151             if (!isxdigit(*aString)) return result; aString++;
00152             if (!isxdigit(*aString)) return result; aString++;
00153             if (!isxdigit(*aString)) return result; aString++;
00154             if (!isxdigit(*aString)) return result; aString++;
00155             if (!isxdigit(*aString)) return result; aString++;
00156             if (!isxdigit(*aString)) return result; aString++;
00157             if (!isxdigit(*aString)) return result; aString++;
00158             if (!isxdigit(*aString)) return result; aString++;
00159             if (!isxdigit(*aString)) return result; aString++;
00160             if (!isxdigit(*aString)) return result; aString++;
00161     
00162             result = true;
00163     
00164             return result;
00165         }
00166 
00167   };
00168 }; // namespace UUID
00169 
00170 /*
00171  * Register test suite
00172  */
00173 CPPUNIT_TEST_SUITE_REGISTRATION(coilUUID::UUIDTests);
00174 
00175 #ifdef LOCAL_MAIN
00176 int main(int argc, char* argv[])
00177 {
00178     CppUnit::TextUi::TestRunner runner;
00179     runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
00180     CppUnit::Outputter* outputter = 
00181       new CppUnit::TextOutputter(&runner.result(), std::cout);
00182     runner.setOutputter(outputter);
00183     bool retcode = runner.run();
00184     return !retcode;
00185 }
00186 #endif // MAIN
00187 
00188 /*
00189  *  Utility functions.
00190  */
00191 
00195 static bool isUuidString(const char* aString)
00196 {
00197     bool result(false);
00198     
00199     if (!isxdigit(*aString)) return result; aString++;
00200     if (!isxdigit(*aString)) return result; aString++;
00201     if (!isxdigit(*aString)) return result; aString++;
00202     if (!isxdigit(*aString)) return result; aString++;
00203     if (!isxdigit(*aString)) return result; aString++;
00204     if (!isxdigit(*aString)) return result; aString++;
00205     if (!isxdigit(*aString)) return result; aString++;
00206     if (!isxdigit(*aString)) return result; aString++;
00207     if (*aString != '-') return result; aString++;
00208     if (!isxdigit(*aString)) return result; aString++;
00209     if (!isxdigit(*aString)) return result; aString++;
00210     if (!isxdigit(*aString)) return result; aString++;
00211     if (!isxdigit(*aString)) return result; aString++;
00212     if (*aString != '-') return result; aString++;
00213     if (!isxdigit(*aString)) return result; aString++;
00214     if (!isxdigit(*aString)) return result; aString++;
00215     if (!isxdigit(*aString)) return result; aString++;
00216     if (!isxdigit(*aString)) return result; aString++;
00217     if (*aString != '-') return result; aString++;
00218     if (!isxdigit(*aString)) return result; aString++;
00219     if (!isxdigit(*aString)) return result; aString++;
00220     if (!isxdigit(*aString)) return result; aString++;
00221     if (!isxdigit(*aString)) return result; aString++;
00222     if (*aString != '-') return result; aString++;
00223     if (!isxdigit(*aString)) return result; aString++;
00224     if (!isxdigit(*aString)) return result; aString++;
00225     if (!isxdigit(*aString)) return result; aString++;
00226     if (!isxdigit(*aString)) return result; aString++;
00227     if (!isxdigit(*aString)) return result; aString++;
00228     if (!isxdigit(*aString)) return result; aString++;
00229     if (!isxdigit(*aString)) return result; aString++;
00230     if (!isxdigit(*aString)) return result; aString++;
00231     if (!isxdigit(*aString)) return result; aString++;
00232     if (!isxdigit(*aString)) return result; aString++;
00233     if (!isxdigit(*aString)) return result; aString++;
00234     if (!isxdigit(*aString)) return result; aString++;
00235     
00236     result = true;
00237     
00238     return result;
00239 }
00240 
00241 #endif // UUID_cpp


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Thu Aug 27 2015 14:16:39