mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 12:09:30 +02:00
* Tester for XSD export
git-svn-id: trunk@18026 -
This commit is contained in:
parent
03133e4980
commit
f0bbea9319
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -1973,6 +1973,8 @@ packages/fcl-db/src/sqlite/testds.pas svneol=native#text/plain
|
|||||||
packages/fcl-db/tests/Makefile -text
|
packages/fcl-db/tests/Makefile -text
|
||||||
packages/fcl-db/tests/Makefile.fpc -text
|
packages/fcl-db/tests/Makefile.fpc -text
|
||||||
packages/fcl-db/tests/README.txt svneol=native#text/plain
|
packages/fcl-db/tests/README.txt svneol=native#text/plain
|
||||||
|
packages/fcl-db/tests/XMLXSDExportTest.lpi svneol=native#text/plain
|
||||||
|
packages/fcl-db/tests/XMLXSDExportTest.lpr svneol=native#text/plain
|
||||||
packages/fcl-db/tests/database.ini.txt svneol=native#text/plain
|
packages/fcl-db/tests/database.ini.txt svneol=native#text/plain
|
||||||
packages/fcl-db/tests/dbftoolsunit.pas svneol=native#text/plain
|
packages/fcl-db/tests/dbftoolsunit.pas svneol=native#text/plain
|
||||||
packages/fcl-db/tests/dbtestframework.pas svneol=native#text/plain
|
packages/fcl-db/tests/dbtestframework.pas svneol=native#text/plain
|
||||||
@ -1994,6 +1996,7 @@ packages/fcl-db/tests/testsqlscanner.lpi svneol=native#text/plain
|
|||||||
packages/fcl-db/tests/testsqlscanner.lpr svneol=native#text/plain
|
packages/fcl-db/tests/testsqlscanner.lpr svneol=native#text/plain
|
||||||
packages/fcl-db/tests/testsqlscript.pas svneol=native#text/plain
|
packages/fcl-db/tests/testsqlscript.pas svneol=native#text/plain
|
||||||
packages/fcl-db/tests/toolsunit.pas svneol=native#text/plain
|
packages/fcl-db/tests/toolsunit.pas svneol=native#text/plain
|
||||||
|
packages/fcl-db/tests/xmlxsdexporttestcase1.pas svneol=native#text/plain
|
||||||
packages/fcl-extra/Makefile svneol=native#text/plain
|
packages/fcl-extra/Makefile svneol=native#text/plain
|
||||||
packages/fcl-extra/Makefile.fpc svneol=native#text/plain
|
packages/fcl-extra/Makefile.fpc svneol=native#text/plain
|
||||||
packages/fcl-extra/examples/Makefile svneol=native#text/plain
|
packages/fcl-extra/examples/Makefile svneol=native#text/plain
|
||||||
|
101
packages/fcl-db/tests/XMLXSDExportTest.lpi
Normal file
101
packages/fcl-db/tests/XMLXSDExportTest.lpi
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<CONFIG>
|
||||||
|
<ProjectOptions>
|
||||||
|
<Version Value="9"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<General>
|
||||||
|
<Flags>
|
||||||
|
<SaveOnlyProjectUnits Value="True"/>
|
||||||
|
</Flags>
|
||||||
|
<SessionStorage Value="InProjectDir"/>
|
||||||
|
<MainUnit Value="0"/>
|
||||||
|
<ResourceType Value="res"/>
|
||||||
|
</General>
|
||||||
|
<i18n>
|
||||||
|
<EnableI18N LFM="False"/>
|
||||||
|
</i18n>
|
||||||
|
<VersionInfo>
|
||||||
|
<StringTable ProductVersion=""/>
|
||||||
|
</VersionInfo>
|
||||||
|
<BuildModes Count="2">
|
||||||
|
<Item1 Name="Default" Default="True"/>
|
||||||
|
<Item2 Name="Debug">
|
||||||
|
<CompilerOptions>
|
||||||
|
<Version Value="10"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<SearchPaths>
|
||||||
|
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||||
|
</SearchPaths>
|
||||||
|
<Linking>
|
||||||
|
<Debugging>
|
||||||
|
<GenerateDebugInfo Value="True"/>
|
||||||
|
</Debugging>
|
||||||
|
</Linking>
|
||||||
|
<Other>
|
||||||
|
<CompilerMessages>
|
||||||
|
<UseMsgFile Value="True"/>
|
||||||
|
</CompilerMessages>
|
||||||
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
|
</Other>
|
||||||
|
</CompilerOptions>
|
||||||
|
</Item2>
|
||||||
|
</BuildModes>
|
||||||
|
<PublishOptions>
|
||||||
|
<Version Value="2"/>
|
||||||
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
|
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
|
||||||
|
</PublishOptions>
|
||||||
|
<RunParams>
|
||||||
|
<local>
|
||||||
|
<FormatVersion Value="1"/>
|
||||||
|
<LaunchingApplication PathPlusParams="\usr\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||||
|
</local>
|
||||||
|
</RunParams>
|
||||||
|
<RequiredPackages Count="2">
|
||||||
|
<Item1>
|
||||||
|
<PackageName Value="FPCUnitConsoleRunner"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<PackageName Value="FCL"/>
|
||||||
|
</Item2>
|
||||||
|
</RequiredPackages>
|
||||||
|
<Units Count="2">
|
||||||
|
<Unit0>
|
||||||
|
<Filename Value="XMLXSDExportTest.lpr"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="XMLXSDExportTest"/>
|
||||||
|
</Unit0>
|
||||||
|
<Unit1>
|
||||||
|
<Filename Value="xmlxsdexporttestcase1.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="XMLXSDExportTestCase1"/>
|
||||||
|
</Unit1>
|
||||||
|
</Units>
|
||||||
|
</ProjectOptions>
|
||||||
|
<CompilerOptions>
|
||||||
|
<Version Value="10"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<SearchPaths>
|
||||||
|
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||||
|
</SearchPaths>
|
||||||
|
<Other>
|
||||||
|
<CompilerMessages>
|
||||||
|
<UseMsgFile Value="True"/>
|
||||||
|
</CompilerMessages>
|
||||||
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
|
</Other>
|
||||||
|
</CompilerOptions>
|
||||||
|
<Debugging>
|
||||||
|
<Exceptions Count="3">
|
||||||
|
<Item1>
|
||||||
|
<Name Value="EAbort"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<Name Value="ECodetoolError"/>
|
||||||
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<Name Value="EFOpenError"/>
|
||||||
|
</Item3>
|
||||||
|
</Exceptions>
|
||||||
|
</Debugging>
|
||||||
|
</CONFIG>
|
27
packages/fcl-db/tests/XMLXSDExportTest.lpr
Normal file
27
packages/fcl-db/tests/XMLXSDExportTest.lpr
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
program XMLXSDExportTest;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes,
|
||||||
|
consoletestrunner,
|
||||||
|
XMLXSDExportTestCase1;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TLazTestRunner }
|
||||||
|
|
||||||
|
TMyTestRunner = class(TTestRunner)
|
||||||
|
protected
|
||||||
|
// override the protected methods of TTestRunner to customize its behavior
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Application: TMyTestRunner;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application := TMyTestRunner.Create(nil);
|
||||||
|
Application.Initialize;
|
||||||
|
Application.Run;
|
||||||
|
Application.Free;
|
||||||
|
end.
|
357
packages/fcl-db/tests/xmlxsdexporttestcase1.pas
Normal file
357
packages/fcl-db/tests/xmlxsdexporttestcase1.pas
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
unit XMLXSDExportTestCase1;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, Fpcunit, Testutils, Testregistry, DB, fpXMLXSDExport,
|
||||||
|
BufDataset, dateutils;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
Ttestxmlxsdexport1 = class(Ttestcase)
|
||||||
|
private
|
||||||
|
procedure FillTestData;
|
||||||
|
protected
|
||||||
|
FTestDataset: TBufDataset;
|
||||||
|
FExportTempDir: string; //where we store exported files in these tests
|
||||||
|
procedure Setup; override;
|
||||||
|
procedure Teardown; override;
|
||||||
|
published
|
||||||
|
procedure TestXSDExport_Access_NoXSD_Decimal;
|
||||||
|
procedure TestXSDExport_Access_NoXSD_NoDecimal;
|
||||||
|
procedure TestXSDExport_Access_XSD_Decimal;
|
||||||
|
procedure TestXSDExport_Access_XSD_NoDecimal;
|
||||||
|
procedure TestXSDExport_ADONET_NoXSD;
|
||||||
|
procedure TestXSDExport_ADONET_XSD;
|
||||||
|
procedure TestXSDExport_DelphiClientDataset;
|
||||||
|
procedure TestXSDExport_Excel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_Access_NoXSD_NoDecimal;
|
||||||
|
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
//Don't override decimal separator
|
||||||
|
Settings.CreateXSD := False;
|
||||||
|
Settings.DecimalSeparator := Char(''); //Don't override decimalseparator
|
||||||
|
Settings.ExportFormat := AccessCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'Access_NoXSD_NoDecimal.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
{ TODO 9 -oAnyone -cNice to have : When initial testing is complete, delete export files. }
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_Access_NoXSD_Decimal;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
Settings.DecimalSeparator := ',';
|
||||||
|
//Try to override decimal separator specified by fpXMLXSDExport
|
||||||
|
Settings.CreateXSD := False;
|
||||||
|
Settings.ExportFormat := AccessCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'Access_NoXSD_Decimal.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_Access_XSD_NoDecimal;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
//Settings.DecimalSeparator := ','; //Don't override decimal separator
|
||||||
|
Settings.CreateXSD := True;
|
||||||
|
Settings.ExportFormat := AccessCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'Access_XSD_NoDecimal.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_Access_XSD_Decimal;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
Settings.DecimalSeparator := ','; //Try to override decimal separator
|
||||||
|
Settings.CreateXSD := True;
|
||||||
|
Settings.ExportFormat := AccessCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'Access_XSD_Decimal.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_ADONET_NoXSD;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
Settings.CreateXSD := False;
|
||||||
|
Settings.ExportFormat := ADONETCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'ADONET_NoXSD.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_ADONET_XSD;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
Settings.CreateXSD := True;
|
||||||
|
Settings.ExportFormat := ADONETCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'ADONET_XSD.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_DelphiClientDataset;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
Settings.ExportFormat := DelphiClientDataset;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'DelphiClientDataset.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.TestXSDExport_Excel;
|
||||||
|
var
|
||||||
|
Export: TXMLXSDExporter;
|
||||||
|
Settings: TXMLXSDFormatSettings;
|
||||||
|
NumberExported: integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Export := TXMLXSDExporter.Create(nil);
|
||||||
|
Settings := TXMLXSDFormatSettings.Create(True);
|
||||||
|
try
|
||||||
|
Settings.ExportFormat := ExcelCompatible;
|
||||||
|
Export.Dataset := FTestDataset;
|
||||||
|
Export.FormatSettings := Settings;
|
||||||
|
Export.FileName := FExportTempDir + 'Excel.xml';
|
||||||
|
NumberExported := Export.Execute;
|
||||||
|
FTestDataset.Close;
|
||||||
|
AssertEquals('Number of records exported', NumberExported, FTestDataset.RecordCount);
|
||||||
|
//we should have exported 2 records.
|
||||||
|
finally
|
||||||
|
Settings.Free;
|
||||||
|
//DeleteFile(Export.FileName); //todo: fix this for release
|
||||||
|
Export.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.FillTestData;
|
||||||
|
var
|
||||||
|
Utf8teststring: string;
|
||||||
|
begin
|
||||||
|
FTestDataset.Close;
|
||||||
|
//for memds:
|
||||||
|
//FTestDataset.Clear(False); //memds: clear out any data
|
||||||
|
//FTestDataset.Fields.Clear; //bufds: clear out any data, but also FIELDDEFS: don't use
|
||||||
|
FTestDataset.Open;
|
||||||
|
|
||||||
|
// Fill some test data
|
||||||
|
// First row
|
||||||
|
FTestDataset.Append;
|
||||||
|
FTestDataset.FieldByName('IDINTEGER').AsInteger := 42;
|
||||||
|
FTestDataset.FieldByName('NAMESTRING').AsString := 'Douglas Adams';
|
||||||
|
FTestDataset.FieldByName('REMARKSMEMO').AsString :=
|
||||||
|
'So long, and thanks for all the fish.';
|
||||||
|
FTestDataset.FieldByName('BIRTHDAYDATE').AsDateTime :=
|
||||||
|
ScanDateTime('yyyymmdd', '19520311', 1);
|
||||||
|
FTestDataset.FieldByName('CVBLOB').AsString :=
|
||||||
|
'A very succesful and funny writer. He died some years ago.';
|
||||||
|
FTestDataset.FieldByName('POCKETMONEYCURRENCY').AsCurrency := 42.42;
|
||||||
|
FTestDataset.FieldByName('NAUGHTYBOOLEAN').AsBoolean := False;
|
||||||
|
FTestDataset.Post;
|
||||||
|
|
||||||
|
// Second row
|
||||||
|
FTestDataset.Append;
|
||||||
|
FTestDataset.FieldByName('IDINTEGER').AsInteger := 444;
|
||||||
|
FTestDataset.FieldByName('NAMESTRING').AsString := 'Captain Haddock';
|
||||||
|
UTF8TestString :=
|
||||||
|
'Drinks rosé (ros, e accent aigu), водка (wodka cyrillic) and ούζο (ouzo Greek) but prefers Loch Lomond whiskey.';
|
||||||
|
FTestDataset.FieldByName('REMARKSMEMO').AsString := (UTF8TestString);
|
||||||
|
//examples of UTF8 code
|
||||||
|
FTestDataset.FieldByName('BIRTHDAYDATE').AsDateTime :=
|
||||||
|
ScanDateTime('yyyymmdd', '19401017', 1);
|
||||||
|
FTestDataset.FieldByName('CVBLOB').AsString := '';
|
||||||
|
FTestDataset.FieldByName('POCKETMONEYCURRENCY').AsCurrency := 12.4866666;
|
||||||
|
FTestDataset.FieldByName('NAUGHTYBOOLEAN').AsBoolean := True;
|
||||||
|
FTestDataset.Post;
|
||||||
|
FTestDataset.Last;
|
||||||
|
FTestDataset.First;
|
||||||
|
AssertEquals('Number of records in test dataset', 2, FTestDataset.RecordCount);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.Setup;
|
||||||
|
var
|
||||||
|
FieldDef: TFieldDef;
|
||||||
|
begin
|
||||||
|
FExportTempDir := GetTempDir(False);
|
||||||
|
FTestDataset := TBufDataset.Create(nil);
|
||||||
|
{for memds - or can we use the lines below, too?:
|
||||||
|
FTestDataset.FieldDefs.Add('IDINTEGER', ftInteger);
|
||||||
|
FTestDataset.FieldDefs.Add('NAMESTRING', ftString, 50);
|
||||||
|
//memds probably won't support memo
|
||||||
|
//TestDataset.FieldDefs.Add('REMARKSMEMO', ftMemo);
|
||||||
|
TestDataset.FieldDefs.Add('BIRTHDAYDATE', ftDate);
|
||||||
|
// No support for blobs in this dataset.
|
||||||
|
//TestDataset.FieldDefs.Add('CVBLOB', ftBlob); // A blob containing e.g. text
|
||||||
|
TestDataset.FieldDefs.Add('POCKETMONEYCURRENCY', ftCurrency);
|
||||||
|
}
|
||||||
|
//for Bufdataset:
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'IDINTEGER';
|
||||||
|
FieldDef.DataType := ftInteger;
|
||||||
|
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'NAMESTRING';
|
||||||
|
FieldDef.DataType := ftString;
|
||||||
|
FieldDef.Size := 50;
|
||||||
|
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'REMARKSMEMO';
|
||||||
|
FieldDef.DataType := ftMemo;
|
||||||
|
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'BIRTHDAYDATE';
|
||||||
|
FieldDef.DataType := ftDate;
|
||||||
|
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'CVBLOB';
|
||||||
|
FieldDef.DataType := ftBlob;
|
||||||
|
FieldDef.Size := 16384;//large but hopefully not too large for memory.
|
||||||
|
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'POCKETMONEYCURRENCY';
|
||||||
|
FieldDef.DataType := ftCurrency;
|
||||||
|
|
||||||
|
FieldDef := FTestDataset.FieldDefs.AddFieldDef;
|
||||||
|
FieldDef.Name := 'NAUGHTYBOOLEAN';
|
||||||
|
FieldDef.DataType := ftBoolean;
|
||||||
|
|
||||||
|
//Createtable is needed if you use a memds
|
||||||
|
//FTestDataset.CreateTable;
|
||||||
|
//CreateDataset is needed if you use a bufdataset
|
||||||
|
FTestDataset.CreateDataSet;
|
||||||
|
|
||||||
|
// Fill dataset with test data
|
||||||
|
FillTestData;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Ttestxmlxsdexport1.Teardown;
|
||||||
|
begin
|
||||||
|
FTestDataset.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
Registertest(Ttestxmlxsdexport1);
|
||||||
|
end.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user