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

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

Go to the documentation of this file.
00001 
00008 #include "testsqlitewrapper.h"
00009 
00010 Dedupe::Test::TSqliteWrapperFixture::TSqliteWrapperFixture() :
00011 Wrapper( ":memory:")
00012 {
00013   Wrapper.SqlExec(
00014   "CREATE TABLE IF NOT EXISTS testtable (Nr integer, Name varchar(20));" );
00015 
00016   Wrapper.SqlExec(
00017   "INSERT INTO testtable (Nr, Name) VALUES (1,'Teststring');" );
00018 
00019   Wrapper.SqlExec(
00020   "INSERT INTO testtable (Nr, Name) VALUES (89,'one more string');" );
00021 }
00022 
00023 BOOST_FIXTURE_TEST_SUITE( TSqliteWrapper, Dedupe::Test::TSqliteWrapperFixture )
00024 
00025   BOOST_AUTO_TEST_CASE( TSqlExec )
00026   {
00027     BOOST_CHECK_NO_THROW( Wrapper.SqlExec( "SELECT * FROM testtable;" ) );
00028     BOOST_CHECK_THROW(
00029            Wrapper.SqlExec( "SadkT * FROM testtable;" ), std::runtime_error );
00030 
00031     Wrapper.FreeResult();
00032   }
00033 
00034   BOOST_AUTO_TEST_CASE( TGetTableData )
00035   {
00036     Dedupe::Dataholding::SqliteWrapper::Row ReturningRow;
00037     std::string actual, expected = "Teststring";
00038 
00039     //Check if only one tablerow is returning
00040     Wrapper.SqlExec( "SELECT Name FROM testtable WHERE Nr=1;" );
00041     BOOST_CHECK_EQUAL(1u, Wrapper.GetTabledata().size() );
00042 
00043     //check if the correct value is selected
00044     ReturningRow = Wrapper.GetTabledata()[ 0 ];
00045 
00046     actual = ReturningRow[ "Name" ];
00047     BOOST_CHECK_EQUAL( expected, actual );
00048 
00049     //Check if the result is deleted
00050     Wrapper.FreeResult();
00051     BOOST_CHECK_EQUAL( Wrapper.GetTabledata().size() , 0u );
00052   }
00053 
00054 BOOST_AUTO_TEST_SUITE_END()

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