TuttleOFX
1
|
00001 #include <detector.hpp> 00002 00003 #include <boost/assign/std/vector.hpp> 00004 00005 #define BOOST_TEST_MODULE StringSequenceDetector 00006 00007 #include <boost/test/unit_test.hpp> 00008 using boost::unit_test::test_suite; 00009 00010 BOOST_AUTO_TEST_SUITE( SimpleDetections ) 00011 00012 BOOST_AUTO_TEST_CASE( Nothing ) 00013 { 00014 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00015 00016 std::vector<boost::filesystem::path> paths; 00017 00018 listSequence = sequenceParser::sequenceFromFilenameList( paths ); 00019 00020 BOOST_CHECK( listSequence.size() == 0 ); 00021 } 00022 00023 BOOST_AUTO_TEST_CASE( SingleFilename ) 00024 { 00025 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00026 00027 std::vector<boost::filesystem::path> paths; 00028 00029 boost::assign::push_back( paths ) 00030 ( "aaa/bbb/a1b2.j2c" ) 00031 ; 00032 00033 listSequence = sequenceParser::sequenceFromFilenameList( paths ); 00034 00035 BOOST_CHECK( listSequence.size() == 0 ); 00036 } 00037 00038 BOOST_AUTO_TEST_CASE( SingleSequence ) 00039 { 00040 boost::ptr_vector<sequenceParser::Sequence> listSequence1; 00041 00042 { 00043 std::vector<boost::filesystem::path> paths; 00044 boost::assign::push_back( paths ) 00045 ( "aaa/bbb/a1b2.j2c" ) 00046 ( "aaa/bbb/a1b3.j2c" ) 00047 ( "aaa/bbb/a1b4.j2c" ) 00048 ; 00049 00050 listSequence1 = sequenceParser::sequenceFromFilenameList( paths ); 00051 } 00052 00053 boost::ptr_vector<sequenceParser::Sequence> listSequence2; 00054 { 00055 std::vector<boost::filesystem::path> paths; 00056 boost::assign::push_back( paths ) 00057 ( "aaa/bbb/a1b2.j2c" ) 00058 ( "aaa/bbb/a1b4.j2c" ) 00059 ( "aaa/bbb/a1b3.j2c" ) 00060 ; 00061 listSequence2 = sequenceParser::sequenceFromFilenameList( paths ); 00062 BOOST_CHECK( listSequence2.size() == 1 ); 00063 } 00064 00065 BOOST_CHECK( listSequence1.front() == listSequence2.front() ); 00066 00067 boost::ptr_vector<sequenceParser::Sequence> listSequence3; 00068 { 00069 std::vector<boost::filesystem::path> paths; 00070 boost::assign::push_back( paths ) 00071 ( "aaa/bbb/a1b2.j2c" ) 00072 ( "aaa/bbb/a1b5.j2c" ) 00073 ( "aaa/bbb/a1b3.j2c" ) 00074 ; 00075 listSequence3 = sequenceParser::sequenceFromFilenameList( paths ); 00076 BOOST_CHECK( listSequence2.size() == 1 ); 00077 } 00078 00079 BOOST_CHECK( listSequence1.front() != listSequence3.front() ); 00080 } 00081 00082 00083 BOOST_AUTO_TEST_SUITE_END() 00084