Browse Source

fcl-db: tests: minor formatting changes and fix Filter test for SQL datasets (do not close/open because edits are lost)

git-svn-id: trunk@25790 -
lacak 11 years ago
parent
commit
47404444b9
1 changed files with 64 additions and 59 deletions
  1. 64 59
      packages/fcl-db/tests/testdbbasics.pas

+ 64 - 59
packages/fcl-db/tests/testdbbasics.pas

@@ -135,10 +135,9 @@ type
     procedure TestLocateCaseIns;
     procedure TestLocateCaseIns;
     procedure TestLocateCaseInsInts;
     procedure TestLocateCaseInsInts;
 
 
-    procedure TestFirst;
+    procedure TestOnFilter;
     procedure TestIntFilter; //Integer range filter
     procedure TestIntFilter; //Integer range filter
     procedure TestNegativeIntFilter; //Negative integer filter; bug 25168
     procedure TestNegativeIntFilter; //Negative integer filter; bug 25168
-    procedure TestOnFilter;
     procedure TestStringFilter; //String filter expressions
     procedure TestStringFilter; //String filter expressions
 
 
     procedure TestNullAtOpen;
     procedure TestNullAtOpen;
@@ -146,7 +145,8 @@ type
     procedure TestAppendOnEmptyDataset;
     procedure TestAppendOnEmptyDataset;
     procedure TestInsertOnEmptyDataset;
     procedure TestInsertOnEmptyDataset;
 
 
-    procedure TestEofAfterFirst;           //bug 7211
+    procedure TestFirst;
+    procedure TestEofAfterFirst;           // bug 7211
     procedure TestLastAppendCancel;        // bug 5058
     procedure TestLastAppendCancel;        // bug 5058
     procedure TestRecNo;                   // bug 5061
     procedure TestRecNo;                   // bug 5061
     procedure TestSetRecNo;                // bug 6919
     procedure TestSetRecNo;                // bug 6919
@@ -433,6 +433,32 @@ begin
   end;
   end;
 end;
 end;
 
 
+procedure TTestDBBasics.TestRecordcountAfterReopen;
+var
+  datalink1: tdatalink;
+  datasource1: tdatasource;
+  query1: TDataSet;
+
+begin
+  query1:= DBConnector.GetNDataset(11);
+  datalink1:= TDataLink.create;
+  datasource1:= tdatasource.create(nil);
+  try
+    datalink1.datasource:= datasource1;
+    datasource1.dataset:= query1;
+
+    query1.active := true;
+    query1.active := False;
+    CheckEquals(0, THackDataLink(datalink1).RecordCount);
+    query1.active := true;
+    CheckTrue(THackDataLink(datalink1).RecordCount>0);
+    query1.active := false;
+  finally
+    datalink1.free;
+    datasource1.free;
+  end;
+end;
+
 procedure TTestCursorDBBasics.TestLastAppendCancel;
 procedure TTestCursorDBBasics.TestLastAppendCancel;
 
 
 var count : integer;
 var count : integer;
@@ -1030,28 +1056,6 @@ begin
     end;
     end;
 end;
 end;
 
 
-procedure TTestCursorDBBasics.TestFirst;
-var i : integer;
-begin
-  with DBConnector.GetNDataset(true,14) do
-    begin
-    open;
-    CheckEquals(1,FieldByName('ID').AsInteger);
-    First;
-    CheckEquals(1,FieldByName('ID').AsInteger);
-    next;
-    CheckEquals(2,FieldByName('ID').AsInteger);
-    First;
-    CheckEquals(1,FieldByName('ID').AsInteger);
-    for i := 0 to 12 do
-      next;
-    CheckEquals(14,FieldByName('ID').AsInteger);
-    First;
-    CheckEquals(1,FieldByName('ID').AsInteger);
-    close;
-    end;
-end;
-
 procedure TTestCursorDBBasics.TestDelete1;
 procedure TTestCursorDBBasics.TestDelete1;
 begin
 begin
   FTestDelete1(false);
   FTestDelete1(false);
@@ -1231,10 +1235,16 @@ begin
     Open;
     Open;
     for Counter := 5 to 8 do
     for Counter := 5 to 8 do
       begin
       begin
-      CheckEquals(Counter,FieldByName('ID').asinteger);
-      next;
+      CheckEquals(Counter, FieldByName('ID').AsInteger);
+      Next;
       end;
       end;
     CheckTrue(EOF);
     CheckTrue(EOF);
+
+    Filter := '-id-ID=-4';
+    CheckEquals(2, FieldByName('ID').AsInteger, 'Unary minus');
+    Next;
+    CheckTrue(EOF, 'Unary minus');
+
     Close;
     Close;
     end;
     end;
 end;
 end;
@@ -1256,60 +1266,33 @@ begin
       Post;
       Post;
       Next;
       Next;
       end;
       end;
-    Close;
 
 
     // Regular filter with negative integer values
     // Regular filter with negative integer values
     Filtered := True;
     Filtered := True;
     Filter := '(id>-9) and (id<-4)';
     Filter := '(id>-9) and (id<-4)';
-    Open;
+    First;
     for Counter := -5 downto -8 do
     for Counter := -5 downto -8 do
       begin
       begin
       CheckEquals(Counter,FieldByName('ID').AsInteger);
       CheckEquals(Counter,FieldByName('ID').AsInteger);
-      next;
+      Next;
       end;
       end;
     CheckTrue(EOF);
     CheckTrue(EOF);
-    Close;
 
 
     // Filter with negative integer values and subtraction calculations
     // Filter with negative integer values and subtraction calculations
     Filtered := True;
     Filtered := True;
     Filter := '(id>(-8-1)) and (id<(-3-1))';
     Filter := '(id>(-8-1)) and (id<(-3-1))';
-    Open;
+    First;
     for Counter := -5 downto -8 do
     for Counter := -5 downto -8 do
       begin
       begin
       CheckEquals(Counter,FieldByName('ID').AsInteger);
       CheckEquals(Counter,FieldByName('ID').AsInteger);
-      next;
+      Next;
       end;
       end;
     CheckTrue(EOF);
     CheckTrue(EOF);
+
     Close;
     Close;
     end;
     end;
 end;
 end;
 
 
-procedure TTestDBBasics.TestRecordcountAfterReopen;
-var
-  datalink1: tdatalink;
-  datasource1: tdatasource;
-  query1: TDataSet;
-
-begin
-  query1:= DBConnector.GetNDataset(11);
-  datalink1:= TDataLink.create;
-  datasource1:= tdatasource.create(nil);
-  try
-    datalink1.datasource:= datasource1;
-    datasource1.dataset:= query1;
-
-    query1.active := true;
-    query1.active := False;
-    CheckEquals(0, THackDataLink(datalink1).RecordCount);
-    query1.active := true;
-    CheckTrue(THackDataLink(datalink1).RecordCount>0);
-    query1.active := false;
-  finally
-    datalink1.free;
-    datasource1.free;
-  end;
-end;
-
 procedure TTestCursorDBBasics.TestStringFilter;
 procedure TTestCursorDBBasics.TestStringFilter;
 // Tests a string expression filter
 // Tests a string expression filter
 var
 var
@@ -2346,6 +2329,28 @@ begin
     end;
     end;
 end;
 end;
 
 
+procedure TTestCursorDBBasics.TestFirst;
+var i : integer;
+begin
+  with DBConnector.GetNDataset(true,14) do
+    begin
+    open;
+    CheckEquals(1,FieldByName('ID').AsInteger);
+    First;
+    CheckEquals(1,FieldByName('ID').AsInteger);
+    next;
+    CheckEquals(2,FieldByName('ID').AsInteger);
+    First;
+    CheckEquals(1,FieldByName('ID').AsInteger);
+    for i := 0 to 12 do
+      next;
+    CheckEquals(14,FieldByName('ID').AsInteger);
+    First;
+    CheckEquals(1,FieldByName('ID').AsInteger);
+    close;
+    end;
+end;
+
 procedure TTestCursorDBBasics.TestEofAfterFirst;
 procedure TTestCursorDBBasics.TestEofAfterFirst;
 begin
 begin
   with DBConnector.GetNDataset(0) do
   with DBConnector.GetNDataset(0) do