• Main Page
  • Namespaces
  • Data Structures
  • Files
  • File List

/www/proggenOrg/dedupe/export/trunk/test/unittest/testui.cpp

00001 
00009  #include "testui.h"
00010 
00011  BOOST_FIXTURE_TEST_SUITE( TUserinterface,
00012                           Dedupe::Test::TUiFixture )
00013 
00014   BOOST_AUTO_TEST_CASE( TestWriteDuplicatesToFile )
00015   {
00016     Dedupe::FileInfo File1( "Path/To/File1",1,1,Dedupe::FileInfo::FileType::TFile,false, 20 );
00017     Dedupe::FileInfo File2( "Path/To/File2",1,1,Dedupe::FileInfo::FileType::TFile,false, 20 );
00018     Dedupe::FileInfo File3( "Path/To/File3",1,1,Dedupe::FileInfo::FileType::TFile,false, 30 );
00019     Dedupe::FileInfo File4( "Path/To/File4",1,1,Dedupe::FileInfo::FileType::TFile,false, 30 );
00020 
00021     Dedupe::Core::DuplicateGroup Group1, Group2;
00022     Dedupe::Core::Duplicates Dups;
00023 
00024     Group1.push_back( File1 );
00025     Group1.push_back( File2 );
00026 
00027     Group2.push_back( File3 );
00028     Group2.push_back( File4 );
00029 
00030     Dups.push_back( Group1 );
00031     Dups.push_back( Group2 );
00032 
00033     Ui.SetTitle( "Unittestfile" );
00034 
00035     BOOST_CHECK( Ui.WriteDuplicatesToFile( Dups, WorkingFile ));
00036 
00037     boost::filesystem::ifstream ReadFile( WorkingFile, ifstream::in );
00038     BOOST_CHECK( ReadFile );
00039 
00040     std::vector<std::string> FileContainment;
00041     std::string Line;
00042 
00043     while( !ReadFile.eof() )
00044     {
00045       std::getline( ReadFile, Line );
00046       FileContainment.push_back( Line );
00047     }
00048     ReadFile.close();
00049 
00050     //TODO Check for Filepattern, if design is finished!
00051 
00052     /*BOOST_CHECK( FileContainment[ 0 ] == "# Unittestfile" );
00053     BOOST_CHECK( FileContainment[ 1 ] == "# Duplicategroup:" );*/
00054   }
00055 
00056   BOOST_AUTO_TEST_CASE( TestReadDecidedDuplicatesFromFile )
00057   {
00058     boost::filesystem::ofstream WriteFile( WorkingFile, ofstream::out );
00059     BOOST_CHECK( WriteFile );
00060 
00061     WriteFile << "\"Path/To/File1\"   k \n";
00062     WriteFile << "\"Path/To/File2\"   m \n";
00063     WriteFile << "\"Path/To/File3\"   d \n";
00064     WriteFile << "# Only commentline\n";
00065     WriteFile << "\"Path/To/File4\" l \"Link/Target\"\n";
00066     WriteFile << "\"Path/To/File5\"\n";
00067     WriteFile << "\"Path/To/File6\"   mark \n";
00068     WriteFile << "\"Path/To/File7\" link \"Link/Target\"\n";
00069     WriteFile.close();
00070 
00071     Dedupe::Core::FilesToProcess FTP = Ui.ReadDecidedDuplicatesFromFile( WorkingFile );
00072 
00073     BOOST_CHECK( FTP[ 0 ].first.string() == "\"Path/To/File1\"" );
00074     BOOST_CHECK( FTP[ 0 ].second == Dedupe::Core::HandleDuplicates::Keep );
00075 
00076     BOOST_CHECK( FTP[ 1 ].first.string() == "\"Path/To/File2\"" );
00077     BOOST_CHECK( FTP[ 1 ].second == Dedupe::Core::HandleDuplicates::MarkAsKeep );
00078 
00079     BOOST_CHECK( FTP[ 2 ].first.string() == "\"Path/To/File3\"" );
00080     BOOST_CHECK( FTP[ 2 ].second == Dedupe::Core::HandleDuplicates::Delete );
00081 
00082     BOOST_CHECK( FTP[ 3 ].first.string() == "\"Path/To/File4\"" );
00083     BOOST_CHECK( FTP[ 3 ].second == Dedupe::Core::HandleDuplicates::LinkTo );
00084     BOOST_CHECK( FTP[ 3 ].second.GetLinkPath().string() == "\"Link/Target\"");
00085 
00086     BOOST_CHECK( FTP[ 4 ].first.string() == "\"Path/To/File5\"" );
00087     BOOST_CHECK( FTP[ 4 ].second == Dedupe::Core::HandleDuplicates::Keep );
00088   }
00089 
00090  BOOST_AUTO_TEST_SUITE_END()

Generated on Mon Mar 11 2013 12:04:52 for Dedupe by  doxygen 1.7.1