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
00051
00052
00053
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()