You've already forked lazarus-ccr
fpspreadsheet: Modify write/read tests for numbers and dates to support any file format. BIFF5 passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2980 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -198,16 +198,18 @@ type
|
||||
|
||||
{ TSpreadWriteReadDateTests }
|
||||
//Write to xls/xml file and read back
|
||||
TSpreadWriteReadDateTests= class(TTestCase)
|
||||
TSpreadWriteReadDateTests = class(TTestCase)
|
||||
private
|
||||
protected
|
||||
// Set up expected values:
|
||||
procedure SetUp; override;
|
||||
procedure TearDown; override;
|
||||
published
|
||||
// Reads dates, date/time and time values from spreadsheet and checks against list
|
||||
// One cell per test so some tests can fail and those further below may still work
|
||||
procedure TestWriteReadDates;
|
||||
procedure TestWriteReadDates(AFormat: TsSpreadsheetFormat);
|
||||
published
|
||||
procedure TestWriteReadDates_BIFF5;
|
||||
procedure TestWriteReadDates_BIFF8;
|
||||
end;
|
||||
|
||||
|
||||
@ -281,7 +283,7 @@ begin
|
||||
inherited TearDown;
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadDateTests.TestWriteReadDates;
|
||||
procedure TSpreadWriteReadDateTests.TestWriteReadDates(AFormat: TsSpreadsheetFormat);
|
||||
var
|
||||
MyWorksheet: TsWorksheet;
|
||||
MyWorkbook: TsWorkbook;
|
||||
@ -305,13 +307,16 @@ begin
|
||||
Fail('Failed writing date time for cell '+CellNotation(MyWorkSheet,Row));
|
||||
CheckEquals(SollDates[Row],ActualDateTime,'Test date/time value mismatch cell '+CellNotation(MyWorksheet,Row));
|
||||
end;
|
||||
MyWorkBook.WriteToFile(TempFile,sfExcel8,true);
|
||||
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
||||
MyWorkbook.Free;
|
||||
|
||||
// Open the spreadsheet, as biff8
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkbook.ReadFromFile(TempFile, sfExcel8);
|
||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,DatesSheet);
|
||||
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
||||
if AFormat = sfExcel2 then
|
||||
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
||||
else
|
||||
MyWorksheet := GetWorksheetByName(MyWorkBook,DatesSheet);
|
||||
if MyWorksheet=nil then
|
||||
fail('Error in test code. Failed to get named worksheet');
|
||||
|
||||
@ -328,6 +333,16 @@ begin
|
||||
DeleteFile(TempFile);
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadDateTests.TestWriteReadDates_BIFF5;
|
||||
begin
|
||||
TestWriteReadDates(sfExcel5);
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadDateTests.TestWriteReadDates_BIFF8;
|
||||
begin
|
||||
TestWriteReadDates(sfExcel8);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadDateTests.TestReadDate(FileName: string; Row: integer);
|
||||
var
|
||||
MyWorksheet: TsWorksheet;
|
||||
|
@ -91,10 +91,12 @@ type
|
||||
// Set up expected values:
|
||||
procedure SetUp; override;
|
||||
procedure TearDown; override;
|
||||
published
|
||||
// Reads numbers values from spreadsheet and checks against list
|
||||
// One cell per test so some tests can fail and those further below may still work
|
||||
procedure TestWriteReadNumbers;
|
||||
procedure TestWriteReadNumbers(AFormat: TsSpreadsheetFormat);
|
||||
published
|
||||
procedure TestWriteReadNumbers_BIFF5;
|
||||
procedure TestWriteReadNumbers_BIFF8;
|
||||
end;
|
||||
|
||||
|
||||
@ -149,7 +151,7 @@ begin
|
||||
inherited TearDown;
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers;
|
||||
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers(AFormat: TsSpreadsheetFormat);
|
||||
var
|
||||
MyWorksheet: TsWorksheet;
|
||||
MyWorkbook: TsWorkbook;
|
||||
@ -165,7 +167,7 @@ begin
|
||||
}
|
||||
// Write out all test values
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkSheet:=MyWorkBook.AddWorksheet(NumbersSheet);
|
||||
MyWorkSheet := MyWorkBook.AddWorksheet(NumbersSheet);
|
||||
for Row := Low(SollNumbers) to High(SollNumbers) do
|
||||
begin
|
||||
MyWorkSheet.WriteNumber(Row,0,SollNumbers[Row]);
|
||||
@ -173,13 +175,16 @@ begin
|
||||
ActualNumber:=MyWorkSheet.ReadAsNumber(Row,0);
|
||||
CheckEquals(SollNumbers[Row],ActualNumber,'Test value mismatch cell '+CellNotation(MyWorkSheet,Row));
|
||||
end;
|
||||
MyWorkBook.WriteToFile(TempFile,sfExcel8,true);
|
||||
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
||||
MyWorkbook.Free;
|
||||
|
||||
// Open the spreadsheet, as biff8
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkbook.ReadFromFile(TempFile, sfExcel8);
|
||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,NumbersSheet);
|
||||
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
||||
if AFormat = sfExcel2 then
|
||||
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
||||
else
|
||||
MyWorksheet := GetWorksheetByName(MyWorkBook,NumbersSheet);
|
||||
if MyWorksheet=nil then
|
||||
fail('Error in test code. Failed to get named worksheet');
|
||||
|
||||
@ -195,6 +200,16 @@ begin
|
||||
DeleteFile(TempFile);
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers_BIFF5;
|
||||
begin
|
||||
TestWriteReadNumbers(sfExcel5);
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers_BIFF8;
|
||||
begin
|
||||
TestWriteReadNumbers(sfExcel8);
|
||||
end;
|
||||
|
||||
procedure TSpreadReadNumberTests.TestReadNumber(FileName: string; Row: integer);
|
||||
var
|
||||
MyWorksheet: TsWorksheet;
|
||||
|
Reference in New Issue
Block a user