瀏覽代碼

fcl-db: tests: introduce TDBBasicsTestCase as ancestor for other test cases (call DBConnector.StartTest and StopTest from him)

git-svn-id: trunk@24888 -
lacak 12 年之前
父節點
當前提交
f95f42d72b
共有 3 個文件被更改,包括 44 次插入74 次删除
  1. 6 45
      packages/fcl-db/tests/testdbbasics.pas
  2. 15 28
      packages/fcl-db/tests/testsqldb.pas
  3. 23 1
      packages/fcl-db/tests/toolsunit.pas

+ 6 - 45
packages/fcl-db/tests/testdbbasics.pas

@@ -18,14 +18,11 @@ type
 
 
   { TTestDBBasics }
   { TTestDBBasics }
 
 
-  TTestDBBasics = class(TTestCase)
+  TTestDBBasics = class(TDBBasicsTestCase)
   private
   private
     procedure TestfieldDefinition(AFieldType : TFieldType;ADatasize : integer;var ADS : TDataset; var AFld: TField);
     procedure TestfieldDefinition(AFieldType : TFieldType;ADatasize : integer;var ADS : TDataset; var AFld: TField);
     procedure TestcalculatedField_OnCalcfields(DataSet: TDataSet);
     procedure TestcalculatedField_OnCalcfields(DataSet: TDataSet);
 
 
-  protected
-    procedure SetUp; override;
-    procedure TearDown; override;
   published
   published
     procedure TestSetFieldValues;
     procedure TestSetFieldValues;
     procedure TestGetFieldValues;
     procedure TestGetFieldValues;
@@ -66,13 +63,10 @@ type
 
 
   { TTestBufDatasetDBBasics }
   { TTestBufDatasetDBBasics }
 {$ifdef fpc}
 {$ifdef fpc}
-  TTestBufDatasetDBBasics = class(TTestCase)
+  TTestBufDatasetDBBasics = class(TDBBasicsTestCase)
   private
   private
     procedure FTestXMLDatasetDefinition(ADataset : TDataset);
     procedure FTestXMLDatasetDefinition(ADataset : TDataset);
     procedure TestAddIndexFieldType(AFieldType : TFieldType; ActiveDS : boolean);
     procedure TestAddIndexFieldType(AFieldType : TFieldType; ActiveDS : boolean);
-  protected
-    procedure SetUp; override;
-    procedure TearDown; override;
   published
   published
     procedure TestClosedIndexFieldNames; // bug 16695
     procedure TestClosedIndexFieldNames; // bug 16695
     procedure TestFileNameProperty;
     procedure TestFileNameProperty;
@@ -120,14 +114,11 @@ type
 
 
   { TTestCursorDBBasics }
   { TTestCursorDBBasics }
 
 
-  TTestCursorDBBasics = class(TTestCase)
+  TTestCursorDBBasics = class(TDBBasicsTestCase)
   private
   private
     procedure TestOnFilterProc(DataSet: TDataSet; var Accept: Boolean);
     procedure TestOnFilterProc(DataSet: TDataSet; var Accept: Boolean);
     procedure FTestDelete1(TestCancelUpdate : boolean);
     procedure FTestDelete1(TestCancelUpdate : boolean);
     procedure FTestDelete2(TestCancelUpdate : boolean);
     procedure FTestDelete2(TestCancelUpdate : boolean);
-  protected
-    procedure SetUp; override;
-    procedure TearDown; override;
   published
   published
     procedure TestCancelUpdDelete1;
     procedure TestCancelUpdDelete1;
     procedure TestCancelUpdDelete2;
     procedure TestCancelUpdDelete2;
@@ -175,6 +166,7 @@ type
     procedure OneTimeTearDown; override;
     procedure OneTimeTearDown; override;
   end;
   end;
 {$endif fpc}
 {$endif fpc}
+
 implementation
 implementation
 
 
 uses
 uses
@@ -186,20 +178,10 @@ uses
   strutils,
   strutils,
   FmtBCD;
   FmtBCD;
 
 
-type THackDataLink=class(TdataLink);
+type THackDataLink=class(TDataLink);
 
 
 { TTestCursorDBBasics }
 { TTestCursorDBBasics }
 
 
-procedure TTestCursorDBBasics.SetUp;
-begin
-  DBConnector.StartTest;
-end;
-
-procedure TTestCursorDBBasics.TearDown;
-begin
-  DBConnector.StopTest;
-end;
-
 procedure TTestCursorDBBasics.TestAppendOnEmptyDataset;
 procedure TTestCursorDBBasics.TestAppendOnEmptyDataset;
 begin
 begin
   with DBConnector.GetNDataset(0) do
   with DBConnector.GetNDataset(0) do
@@ -616,16 +598,6 @@ begin
 end;
 end;
 
 
 
 
-procedure TTestDBBasics.SetUp;
-begin
-  DBConnector.StartTest;
-end;
-
-procedure TTestDBBasics.TearDown;
-begin
-  DBConnector.StopTest;
-end;
-
 procedure TTestCursorDBBasics.TestOldValueObsolete;
 procedure TTestCursorDBBasics.TestOldValueObsolete;
 var v : variant;
 var v : variant;
     bufds: TDataset;
     bufds: TDataset;
@@ -2782,20 +2754,9 @@ begin
   DBConnector.TestUniDirectional:=false;
   DBConnector.TestUniDirectional:=false;
   inherited OneTimeTearDown;
   inherited OneTimeTearDown;
 end;
 end;
-
-{ TTestBufDatasetDBBasics }
-
-procedure TTestBufDatasetDBBasics.SetUp;
-begin
-  DBConnector.StartTest;
-end;
-
-procedure TTestBufDatasetDBBasics.TearDown;
-begin
-  DBConnector.StopTest;
-end;
 {$endif fpc}
 {$endif fpc}
 
 
+
 initialization
 initialization
 {$ifdef fpc}
 {$ifdef fpc}
   RegisterTestDecorator(TDBBasicsTestSetup, TTestDBBasics);
   RegisterTestDecorator(TDBBasicsTestSetup, TTestDBBasics);

+ 15 - 28
packages/fcl-db/tests/testsqldb.pas

@@ -14,24 +14,26 @@ uses
 
 
 type
 type
 
 
+  { TSQLDBTestCase }
+
+  TSQLDBTestCase = class(TTestCase)
+    protected
+      procedure SetUp; override;
+      procedure TearDown; override;
+  end;
+
   { TTestTSQLQuery }
   { TTestTSQLQuery }
 
 
-  TTestTSQLQuery = class(TTestCase)
+  TTestTSQLQuery = class(TSQLDBTestCase)
   private
   private
-  protected
-    procedure SetUp; override;
-    procedure TearDown; override;
   published
   published
     procedure TestUpdateServerIndexDefs;
     procedure TestUpdateServerIndexDefs;
   end;
   end;
 
 
   { TTestTSQLConnection }
   { TTestTSQLConnection }
 
 
-  TTestTSQLConnection = class(TTestCase)
+  TTestTSQLConnection = class(TSQLDBTestCase)
   private
   private
-  protected
-    procedure SetUp; override;
-    procedure TearDown; override;
   published
   published
     procedure ReplaceMe;
     procedure ReplaceMe;
   end;
   end;
@@ -114,38 +116,23 @@ begin
 end;
 end;
 
 
 
 
-procedure TTestTSQLQuery.SetUp;
-begin
-  inherited;
-  InitialiseDBConnector;
-  DBConnector.StartTest;
-end;
+{ TSQLDBTestCase }
 
 
-procedure TTestTSQLConnection.SetUp;
+procedure TSQLDBTestCase.SetUp;
 begin
 begin
-  inherited;
+  inherited SetUp;
   InitialiseDBConnector;
   InitialiseDBConnector;
   DBConnector.StartTest;
   DBConnector.StartTest;
 end;
 end;
 
 
-procedure TTestTSQLQuery.TearDown;
-begin
-  DBConnector.StopTest;
-  if assigned(DBConnector) then
-    with TSQLDBConnector(DBConnector) do
-      Transaction.Rollback;
-  FreeDBConnector;
-  inherited;
-end;
-
-procedure TTestTSQLConnection.TearDown;
+procedure TSQLDBTestCase.TearDown;
 begin
 begin
   DBConnector.StopTest;
   DBConnector.StopTest;
   if assigned(DBConnector) then
   if assigned(DBConnector) then
     with TSQLDBConnector(DBConnector) do
     with TSQLDBConnector(DBConnector) do
       Transaction.Rollback;
       Transaction.Rollback;
   FreeDBConnector;
   FreeDBConnector;
-  inherited;
+  inherited TearDown;
 end;
 end;
 
 
 
 

+ 23 - 1
packages/fcl-db/tests/toolsunit.pas

@@ -7,7 +7,7 @@ unit ToolsUnit;
 interface
 interface
 
 
 uses
 uses
-  Classes, SysUtils, DB, testdecorator;
+  Classes, SysUtils, DB, testdecorator, fpcunit;
 
 
 Const
 Const
   // Number of "N" test datasets (as opposed to FieldDatasets) that will be created
   // Number of "N" test datasets (as opposed to FieldDatasets) that will be created
@@ -94,6 +94,14 @@ type
       procedure OneTimeTearDown; override;
       procedure OneTimeTearDown; override;
     end;
     end;
 
 
+  { TDBBasicsTestCase }
+  TDBBasicsTestCase = class(TTestCase)
+    protected
+      procedure SetUp; override;
+      procedure TearDown; override;
+  end;
+
+
 const
 const
   DataEventnames : Array [TDataEvent] of String[21] =
   DataEventnames : Array [TDataEvent] of String[21] =
     ('deFieldChange', 'deRecordChange', 'deDataSetChange', 'deDataSetScroll',
     ('deFieldChange', 'deRecordChange', 'deDataSetChange', 'deDataSetScroll',
@@ -370,6 +378,20 @@ begin
   FreeDBConnector;
   FreeDBConnector;
 end;
 end;
 
 
+{ TDBBasicsTestCase }
+
+procedure TDBBasicsTestCase.SetUp;
+begin
+  inherited SetUp;
+  DBConnector.StartTest;
+end;
+
+procedure TDBBasicsTestCase.TearDown;
+begin
+  DBConnector.StopTest;
+  inherited TearDown;
+end;
+
 
 
 procedure ReadIniFile;
 procedure ReadIniFile;