Стартовый пул
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
unit rx_ext_test_case_1;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, fpcunit, testutils, testregistry, rxmemds, Dialogs;
|
||||
|
||||
type
|
||||
|
||||
{ TTCRxMemDataLifecycle }
|
||||
|
||||
TTCRxMemDataLifecycle= class(TTestCase)
|
||||
protected
|
||||
procedure SetUp; override;
|
||||
procedure TearDown; override;
|
||||
published
|
||||
procedure TestHookUp;
|
||||
procedure TestSave;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
db, ex_rx_datapacket;
|
||||
|
||||
procedure TTCRxMemDataLifecycle.TestHookUp;
|
||||
var
|
||||
ads : TRxMemoryData;
|
||||
aField : TField;
|
||||
i : integer;
|
||||
begin
|
||||
ads := TRxMemoryData.Create(nil);
|
||||
|
||||
aField := TIntegerField.Create(nil);
|
||||
aField.FieldName:= 'IntegerField1';
|
||||
aField.Name := 'adsIntegerField1';
|
||||
aField.DataSet := ads;
|
||||
|
||||
aField := TStringField.Create(nil);
|
||||
aField.FieldName:= 'StringField1';
|
||||
aField.Name := 'adsStringField1';
|
||||
aField.Size := 20;
|
||||
aField.DataSet := ads;
|
||||
|
||||
aField := TFloatField.Create(nil);
|
||||
aField.FieldName:= 'FloatField1';
|
||||
aField.Name := 'adsFloatField1';
|
||||
aField.DataSet := ads;
|
||||
|
||||
ads.Open;
|
||||
|
||||
for i := 0 to 500 do
|
||||
begin
|
||||
ads.AppendRecord([i,'Name '+ IntToStr(i), 200 + (i*0.1)]);
|
||||
end;
|
||||
|
||||
ads.First;
|
||||
|
||||
i:= 0;
|
||||
while not ads.EOF do
|
||||
begin
|
||||
AssertTrue('Integer is incorrect ' + IntToStr(i), ads.FieldByName('IntegerField1').AsInteger = i);
|
||||
AssertTrue('Float is incorrect ' + IntToStr(i), ads.FieldByName('FloatField1').AsFloat - (200 + (i*0.1)) < 0.01);
|
||||
AssertTrue('String is incorrect ' + IntToStr(i), ads.FieldByName('StringField1').AsString = 'Name '+ IntToStr(i));
|
||||
inc(i);
|
||||
ads.Next;
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
procedure TTCRxMemDataLifecycle.TestSave;
|
||||
var
|
||||
ads1,ads2 : TRxMemoryData;
|
||||
aField : TField;
|
||||
i : integer;
|
||||
sMemoTest : String;
|
||||
begin
|
||||
ads1 := TRxMemoryData.Create(nil);
|
||||
ads2 := TRxMemoryData.Create(nil);
|
||||
|
||||
aField := TIntegerField.Create(nil);
|
||||
aField.FieldName:= 'IntegerField1';
|
||||
aField.Name := 'adsIntegerField1';
|
||||
aField.DataSet := ads1;
|
||||
|
||||
aField := TStringField.Create(nil);
|
||||
aField.FieldName:= 'StringField1';
|
||||
aField.Name := 'adsStringField1';
|
||||
aField.Size := 20;
|
||||
aField.DataSet := ads1;
|
||||
|
||||
aField := TFloatField.Create(nil);
|
||||
aField.FieldName:= 'FloatField1';
|
||||
aField.Name := 'adsFloatField1';
|
||||
aField.DataSet := ads1;
|
||||
|
||||
// TBooleanField
|
||||
|
||||
aField := TBooleanField.Create(nil);
|
||||
aField.FieldName:= 'BooleanField1';
|
||||
aField.Name := 'adsBooleanField1';
|
||||
aField.DataSet := ads1;
|
||||
|
||||
// TDateTimeField
|
||||
|
||||
aField := TDateTimeField.Create(nil);
|
||||
aField.FieldName:= 'DateTimeField1';
|
||||
aField.Name := 'adsDateTimeField1';
|
||||
aField.DataSet := ads1;
|
||||
|
||||
|
||||
// TMemoField
|
||||
|
||||
aField := TMemoField.Create(nil);
|
||||
aField.FieldName:= 'MemoField1';
|
||||
aField.Name := 'adsMemoField1';
|
||||
aField.Size:= 600;
|
||||
aField.DataSet := ads1;
|
||||
|
||||
// TCurrencyField
|
||||
|
||||
aField := TCurrencyField.Create(nil);
|
||||
aField.FieldName:= 'CurrencyField1';
|
||||
aField.Name := 'adsCurrencyField1';
|
||||
aField.DataSet := ads1;
|
||||
|
||||
ads1.Open;
|
||||
ads2.Open;
|
||||
|
||||
sMemoTest := 'memo1';
|
||||
for i := 0 to 500 do
|
||||
begin
|
||||
ads1.AppendRecord([i,'Name '+ IntToStr(i), 200 + (i*0.1),(i div 2) = 1, EncodeDate(2011,10,03) + i, sMemoTest, 1000 + (i*0.1)]);
|
||||
sMemoTest := sMemoTest + 'a';
|
||||
end;
|
||||
|
||||
ads1.SaveToFile('/tmp/testfile.xml',dfXML);
|
||||
ads2.LoadFromFile('/tmp/testfile.xml',dfXML);
|
||||
|
||||
ads2.First;
|
||||
|
||||
sMemoTest := 'memo1';
|
||||
i:= 0;
|
||||
while not ads2.EOF do
|
||||
begin
|
||||
AssertTrue('Integer is incorrect ' + IntToStr(i), ads2.FieldByName('IntegerField1').AsInteger = i);
|
||||
AssertTrue('Float is incorrect ' + IntToStr(i), ads2.FieldByName('FloatField1').AsFloat - (200 + (i*0.1)) < 0.01);
|
||||
AssertTrue('String is incorrect ' + IntToStr(i), ads2.FieldByName('StringField1').AsString = 'Name '+ IntToStr(i));
|
||||
|
||||
AssertTrue('Currency is incorrect ' + IntToStr(i), ads2.FieldByName('CurrencyField1').AsFloat - (1000 + (i*0.1)) < 0.01);
|
||||
AssertTrue('DateTime is incorrect ' + IntToStr(i), ads2.FieldByName('DateTimeField1').AsDateTime = EncodeDate(2011,10,03) + i);
|
||||
AssertTrue('Memo is incorrect ' + IntToStr(i) + ads2.FieldByName('MemoField1').AsString, StrComp(Pchar(ads2.FieldByName('MemoField1').asString),Pchar(sMemoTest)) = 0);
|
||||
|
||||
sMemoTest := sMemoTest + 'a';
|
||||
inc(i);
|
||||
ads2.Next;
|
||||
end;
|
||||
|
||||
ads1.Free;
|
||||
ads2.Free;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
procedure TTCRxMemDataLifecycle.SetUp;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TTCRxMemDataLifecycle.TearDown;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
||||
RegisterTest(TTCRxMemDataLifecycle);
|
||||
end.
|
||||
|
Reference in New Issue
Block a user