TuttleOFX
1
|
00001 #include <detector.hpp> 00002 00003 #include <boost/assign/std/vector.hpp> 00004 00005 #include <boost/test/unit_test.hpp> 00006 using namespace boost::unit_test; 00007 00008 BOOST_AUTO_TEST_SUITE( MutiSequenceDetection ) 00009 00010 BOOST_AUTO_TEST_CASE( SimpleMultiSequence ) 00011 { 00012 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00013 00014 std::vector<boost::filesystem::path> paths; 00015 00016 boost::assign::push_back( paths ) 00017 ( "aaa/bbb/a1b2c1.j2c" ) 00018 ( "aaa/bbb/a1b2c2.j2c" ) 00019 ( "aaa/bbb/a1b2c3.j2c" ) 00020 00021 ( "aaa/bbb/a1b3c6.j2c" ) 00022 ( "aaa/bbb/a1b3c2.j2c" ) 00023 ( "aaa/bbb/a1b3c3.j2c" ) 00024 00025 ( "aaa/bbb/a1b9c6.j2c" ) 00026 ( "aaa/bbb/a1b9c2.j2c" ) 00027 ; 00028 00029 listSequence = sequenceParser::sequenceFromFilenameList( paths ); 00030 00031 std::cout << "listSequence.size()" << listSequence.size() << std::endl; 00032 BOOST_CHECK( listSequence.size() == 3 ); 00033 } 00034 00035 BOOST_AUTO_TEST_CASE( SimpleMultiSequenceMultiLevel ) 00036 { 00037 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00038 00039 std::vector<boost::filesystem::path> paths; 00040 00041 boost::assign::push_back( paths ) 00042 ( "aaa/bbb/a1b2c1.j2c" ) 00043 ( "aaa/bbb/a1b2c2.j2c" ) 00044 ( "aaa/bbb/a1b2c3.j2c" ) 00045 00046 ( "aaa/bbb/a1b3c4.j2c" ) 00047 ( "aaa/bbb/a1b4c4.j2c" ) 00048 ( "aaa/bbb/a1b5c4.j2c" ) 00049 ( "aaa/bbb/a1b6c4.j2c" ) 00050 ; 00051 00052 listSequence = sequenceParser::sequenceFromFilenameList( paths ); 00053 00054 // std::cout << "AA: " << listSequence.size() << std::endl; 00055 BOOST_CHECK( listSequence.size() == 2 ); 00056 00057 std::cout << listSequence.front().getNbFiles() << std::endl; 00058 BOOST_CHECK( listSequence.front().getNbFiles() == 3 ); 00059 00060 std::cout << listSequence.back().getNbFiles() << std::endl; 00061 BOOST_CHECK( listSequence.back().getNbFiles() == 4 ); 00062 } 00063 00064 BOOST_AUTO_TEST_CASE( MultiSequenceMultiLevelMultiPadding ) 00065 { 00066 { 00067 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00068 std::vector<boost::filesystem::path> paths; 00069 boost::assign::push_back( paths ) 00070 ( "aaa/bbb/a1b2c1.j2c" ) 00071 ( "aaa/bbb/a1b002c2.j2c" ) // alone file will be ignored 00072 ( "aaa/bbb/a1b2c3.j2c" ) 00073 00074 ( "aaa/bbb/a1b3c4.j2c" ) 00075 ( "aaa/bbb/a1b4c4.j2c" ) 00076 ( "aaa/bbb/a1b5c4.j2c" ) 00077 ( "aaa/bbb/a1b6c4.j2c" ) 00078 ; 00079 00080 listSequence = sequenceParser::sequenceFromFilenameList( paths ); 00081 //std::cout << "listSequence.size(): " << listSequence.size() << std::endl; 00082 BOOST_CHECK( listSequence.size() == 2 ); 00083 } 00084 { 00085 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00086 std::vector<boost::filesystem::path> paths; 00087 boost::assign::push_back( paths ) 00088 ( "aaa/bbb/a1b2c1.j2c" ) 00089 ( "aaa/bbb/a1b002c2.j2c" ) 00090 ( "aaa/bbb/a1b2c3.j2c" ) 00091 00092 ( "aaa/bbb/a1b002c3.j2c" ) 00093 ( "aaa/bbb/a1b3c4.j2c" ) 00094 ( "aaa/bbb/a1b4c4.j2c" ) 00095 ( "aaa/bbb/a1b5c4.j2c" ) 00096 ( "aaa/bbb/a1b6c4.j2c" ) 00097 ; 00098 00099 listSequence = sequenceParser::sequenceFromFilenameList( paths ); 00100 std::cout << "listSequence.size(): " << listSequence.size() << std::endl; 00101 BOOST_CHECK( listSequence.size() == 3 ); 00102 } 00103 } 00104 00105 BOOST_AUTO_TEST_CASE( MultiSequenceMultiLevelMultiPaddingWithNegValues ) 00106 { 00107 boost::ptr_vector<sequenceParser::Sequence> listSequence; 00108 std::vector<boost::filesystem::path> paths; 00109 boost::assign::push_back( paths ) 00110 ( "aaa/bbb/a1b2c1.j2c" ) 00111 ( "aaa/bbb/a1b002c2.j2c" ) 00112 ( "aaa/bbb/a1b2c3.j2c" ) 00113 00114 ( "aaa/bbb/a1b002c-3.j2c" ) 00115 ( "aaa/bbb/a1b3c4.j2c" ) 00116 ( "aaa/bbb/a1b5c4.j2c" ) 00117 ( "aaa/bbb/a1b6c4.j2c" ) 00118 00119 ( "aaa/bbb/a1b4c-4.j2c" ) 00120 ( "aaa/bbb/a1b5c-4.j2c" ) 00121 ( "aaa/bbb/a1b-6c-4.j2c" ) 00122 ; 00123 00124 listSequence = sequenceParser::sequenceFromFilenameList( paths, (sequenceParser::eMaskOptionsDotFile | sequenceParser::eMaskOptionsNegativeIndexes) ); 00125 std::cout << "listSequence.size(): " << listSequence.size() << std::endl; 00126 BOOST_CHECK( listSequence.size() == 4 ); 00127 } 00128 00129 00130 BOOST_AUTO_TEST_SUITE_END()