* Added TestDeleteDoubleDelete

* Improved check of a streamed dataset definition

git-svn-id: trunk@12221 -
This commit is contained in:
joost 2008-11-23 17:18:23 +00:00
parent 9f25b3e2ed
commit 55352b6def

View File

@ -95,6 +95,7 @@ type
procedure TestEofAfterFirst; //bug 7211
procedure TestBufDatasetCancelUpd1;
procedure TestMultipleDeleteUpdateBuffer;
procedure TestDoubleDelete;
procedure TestDoubleClose;
procedure TestCalculatedField;
procedure TestAssignFieldftString;
@ -945,16 +946,20 @@ begin
end;
procedure TTestDBBasics.FTestXMLDatasetDefinition(ADataset: TDataset);
var i : integer;
begin
AssertEquals(2,ADataset.FieldDefs.Count);
AssertEquals(5,ADataset.RecordCount);
AssertEquals(2,ADataset.Fields.Count);
AssertEquals('ID',ADataset.Fields[0].FieldName);
AssertEquals('NAME',ADataset.Fields[1].FieldName);
AssertTrue('Incorrect fieldtype',ADataset.fields[1].DataType=ftString);
AssertEquals('TestName1',ADataset.FieldByName('name').AsString);
ADataset.Next;
AssertEquals('TestName2',ADataset.FieldByName('name').AsString);
i := 1;
while not ADataset.EOF do
begin
AssertEquals('TestName'+inttostr(i),ADataset.FieldByName('name').AsString);
ADataset.Next;
inc(i);
end;
end;
procedure TTestDBBasics.TestOnFilterProc(DataSet: TDataSet; var Accept: Boolean);
@ -2042,6 +2047,42 @@ begin
ds.close;
end;
procedure TTestDBBasics.TestDoubleDelete;
var ds : TBufDataset;
begin
ds := TBufDataset(DBConnector.GetNDataset(true,5));
if not (ds is TBufDataset) then
Ignore('This test only applies to TBufDataset and descendents.');
with ds do
begin
open;
next; next;
Delete;
Delete;
first;
AssertEquals(1,fieldbyname('id').AsInteger);
next;
AssertEquals(2,fieldbyname('id').AsInteger);
next;
AssertEquals(5,fieldbyname('id').AsInteger);
CancelUpdates;
first;
AssertEquals(1,fieldbyname('id').AsInteger);
next;
AssertEquals(2,fieldbyname('id').AsInteger);
next;
AssertEquals(3,fieldbyname('id').AsInteger);
next;
AssertEquals(4,fieldbyname('id').AsInteger);
next;
AssertEquals(5,fieldbyname('id').AsInteger);
end;
end;
procedure TTestDBBasics.TestNullAtOpen;
begin
with dbconnector.getndataset(0) do