diff options
author | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 15:02:16 +0000 |
---|---|---|
committer | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 15:02:16 +0000 |
commit | 4e4e213f8978e5c9e36e0923a0476ca0ae9aa4cf (patch) | |
tree | 7e00516e6753a47c09b5d93795fd3a32aec46dcc /src/unit-tests/testsqllite.pas | |
parent | e06c097dbfbebee3c03bf82cdcd05805f546a61d (diff) | |
download | usdx-4e4e213f8978e5c9e36e0923a0476ca0ae9aa4cf.tar.gz usdx-4e4e213f8978e5c9e36e0923a0476ca0ae9aa4cf.tar.xz usdx-4e4e213f8978e5c9e36e0923a0476ca0ae9aa4cf.zip |
rename UnitTests
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1311 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src/unit-tests/testsqllite.pas')
-rw-r--r-- | src/unit-tests/testsqllite.pas | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/unit-tests/testsqllite.pas b/src/unit-tests/testsqllite.pas new file mode 100644 index 00000000..b1b682d2 --- /dev/null +++ b/src/unit-tests/testsqllite.pas @@ -0,0 +1,84 @@ +unit TestSQLLite; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, fpcunit, testutils, testregistry, SQLiteTable3, unix; + +type + + TTest_SqlLite= class(TTestCase) + private + fSQLLite : TSQLiteDatabase; + fFileName : string; + protected + procedure SetUp; override; + procedure TearDown; override; + published + procedure Test_Random_TableExists; + procedure Test_Delete_NonExistant_Table; + procedure Test_TableExists_On_0Length_File; + end; + +implementation + +procedure TTest_SqlLite.Test_Random_TableExists; +begin + deletefile( fFileName ); + fSQLLite := TSQLiteDatabase.Create( fFileName ); + + // Test if some random table exists + check( not fSQLLite.TableExists( 'testTable'+floattostr(now()) ) , 'Randomly Named Table Should NOT Exists (In an empty database file)' ); +end; + +procedure TTest_SqlLite.Test_Delete_NonExistant_Table; +var + lSQL : String; +begin + deletefile( fFileName ); + fSQLLite := TSQLiteDatabase.Create( fFileName ); + try + lSQL := 'DROP TABLE testtable'; + fSQLLite.execsql( lSQL ); + except + exit; + end; + + Fail('SQLLite did not except when trying to delete a non existant table' ); +end; + +procedure TTest_SqlLite.Test_TableExists_On_0Length_File; +var + lSQL : String; +begin + deletefile( fFileName ); + shell('cat /dev/null > '+fFileName); + + if not fileexists( fFileName ) then + Fail('0 Length file was not created... oops' ); + + fSQLLite := TSQLiteDatabase.Create( fFileName ); + + check( not fSQLLite.TableExists( 'testTable' ) , 'Randomly Named Table Should NOT Exists' ); +end; + + +procedure TTest_SqlLite.SetUp; +begin + fFileName := 'test.db'; +// fSQLLite := TSQLiteDatabase.Create( fFileName ); +end; + + +procedure TTest_SqlLite.TearDown; +begin + freeandnil( fSQLLite ); +end; + +initialization + + RegisterTest(TTest_SqlLite); +end. + |