فهرست منبع

fcl-db: test: when testing unidirectional bufdataset set UniDirectional after (not before) test data are populated and saved to file (before any test), because setting unidirectional before prevents inserting test data at all.
Of course this change does not help very much, because when data are loaded from file bidirectional is checked and exception is raised.
So IMO we should comment: //UniDirectional := TestUniDirectional, because in concept of save/load file we can not test unidirectional bufdataset.

git-svn-id: trunk@23640 -

lacak 12 سال پیش
والد
کامیت
21aa533719
1فایلهای تغییر یافته به همراه20 افزوده شده و 15 حذف شده
  1. 20 15
      packages/fcl-db/tests/bufdatasettoolsunit.pas

+ 20 - 15
packages/fcl-db/tests/bufdatasettoolsunit.pas

@@ -88,22 +88,25 @@ var BufDataset  : TPersistentBufDataSet;
 
 
 begin
 begin
   BufDataset := TPersistentBufDataSet.Create(nil);
   BufDataset := TPersistentBufDataSet.Create(nil);
-  BufDataset.Name := 'NDataset';
-  BufDataset.FieldDefs.Add('ID',ftInteger);
-  BufDataset.FieldDefs.Add('NAME',ftString,50);
-  BufDataset.CreateDataset;
-  BufDataset.Open;
-  for i := 1 to n do
+  with BufDataset do
     begin
     begin
-    BufDataset.Append;
-    BufDataset.FieldByName('ID').AsInteger := i;
-    BufDataset.FieldByName('NAME').AsString := 'TestName' + inttostr(i);
-    BufDataset.Post;
+    Name := 'NDataset';
+    FieldDefs.Add('ID',ftInteger);
+    FieldDefs.Add('NAME',ftString,50);
+    CreateDataset;
+    Open;
+    for i := 1 to n do
+      begin
+      Append;
+      FieldByName('ID').AsInteger := i;
+      FieldByName('NAME').AsString := 'TestName' + inttostr(i);
+      Post;
+      end;
+    MergeChangeLog;
+    TempFileName:=GetTempFileName;
+    FileName:=TempFileName;
+    Close; // Save data into file
     end;
     end;
-  BufDataset.MergeChangeLog;
-  BufDataset.TempFileName:=GetTempFileName;
-  BufDataset.FileName:=BufDataset.TempFileName;
-  BufDataset.Close; // Save data into file
   Result := BufDataset;
   Result := BufDataset;
 end;
 end;
 
 
@@ -122,7 +125,6 @@ begin
   with BufDataset do
   with BufDataset do
     begin
     begin
     Name := 'FieldDataset';
     Name := 'FieldDataset';
-    UniDirectional := FUniDirectional;
     FieldDefs.Add('ID',ftInteger);
     FieldDefs.Add('ID',ftInteger);
     FieldDefs.Add('FSTRING',ftString,10);
     FieldDefs.Add('FSTRING',ftString,10);
     FieldDefs.Add('FSMALLINT',ftSmallint);
     FieldDefs.Add('FSMALLINT',ftSmallint);
@@ -167,6 +169,9 @@ begin
     TempFileName:=GetTempFileName;
     TempFileName:=GetTempFileName;
     FileName:=TempFileName;
     FileName:=TempFileName;
     Close; // Save data into file
     Close; // Save data into file
+    // When data are loaded from file, bidirectional is checked
+    // so unidirectional bufdataset can't be tested here
+    UniDirectional := TestUniDirectional;
     end;
     end;
   Result := BufDataset;
   Result := BufDataset;
 end;
 end;