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
00040 Wrapper.SqlExec( "SELECT Name FROM testtable WHERE Nr=1;" );
00041 BOOST_CHECK_EQUAL(1u, Wrapper.GetTabledata().size() );
00042
00043
00044 ReturningRow = Wrapper.GetTabledata()[ 0 ];
00045
00046 actual = ReturningRow[ "Name" ];
00047 BOOST_CHECK_EQUAL( expected, actual );
00048
00049
00050 Wrapper.FreeResult();
00051 BOOST_CHECK_EQUAL( Wrapper.GetTabledata().size() , 0u );
00052 }
00053
00054 BOOST_AUTO_TEST_SUITE_END()