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 }
|
{ TSpreadWriteReadDateTests }
|
||||||
//Write to xls/xml file and read back
|
//Write to xls/xml file and read back
|
||||||
TSpreadWriteReadDateTests= class(TTestCase)
|
TSpreadWriteReadDateTests = class(TTestCase)
|
||||||
private
|
private
|
||||||
protected
|
protected
|
||||||
// Set up expected values:
|
// Set up expected values:
|
||||||
procedure SetUp; override;
|
procedure SetUp; override;
|
||||||
procedure TearDown; override;
|
procedure TearDown; override;
|
||||||
published
|
|
||||||
// Reads dates, date/time and time values from spreadsheet and checks against list
|
// 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
|
// 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;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -281,7 +283,7 @@ begin
|
|||||||
inherited TearDown;
|
inherited TearDown;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSpreadWriteReadDateTests.TestWriteReadDates;
|
procedure TSpreadWriteReadDateTests.TestWriteReadDates(AFormat: TsSpreadsheetFormat);
|
||||||
var
|
var
|
||||||
MyWorksheet: TsWorksheet;
|
MyWorksheet: TsWorksheet;
|
||||||
MyWorkbook: TsWorkbook;
|
MyWorkbook: TsWorkbook;
|
||||||
@@ -305,13 +307,16 @@ begin
|
|||||||
Fail('Failed writing date time for cell '+CellNotation(MyWorkSheet,Row));
|
Fail('Failed writing date time for cell '+CellNotation(MyWorkSheet,Row));
|
||||||
CheckEquals(SollDates[Row],ActualDateTime,'Test date/time value mismatch cell '+CellNotation(MyWorksheet,Row));
|
CheckEquals(SollDates[Row],ActualDateTime,'Test date/time value mismatch cell '+CellNotation(MyWorksheet,Row));
|
||||||
end;
|
end;
|
||||||
MyWorkBook.WriteToFile(TempFile,sfExcel8,true);
|
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
||||||
MyWorkbook.Free;
|
MyWorkbook.Free;
|
||||||
|
|
||||||
// Open the spreadsheet, as biff8
|
// Open the spreadsheet, as biff8
|
||||||
MyWorkbook := TsWorkbook.Create;
|
MyWorkbook := TsWorkbook.Create;
|
||||||
MyWorkbook.ReadFromFile(TempFile, sfExcel8);
|
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
||||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,DatesSheet);
|
if AFormat = sfExcel2 then
|
||||||
|
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
||||||
|
else
|
||||||
|
MyWorksheet := GetWorksheetByName(MyWorkBook,DatesSheet);
|
||||||
if MyWorksheet=nil then
|
if MyWorksheet=nil then
|
||||||
fail('Error in test code. Failed to get named worksheet');
|
fail('Error in test code. Failed to get named worksheet');
|
||||||
|
|
||||||
@@ -328,6 +333,16 @@ begin
|
|||||||
DeleteFile(TempFile);
|
DeleteFile(TempFile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadDateTests.TestWriteReadDates_BIFF5;
|
||||||
|
begin
|
||||||
|
TestWriteReadDates(sfExcel5);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadDateTests.TestWriteReadDates_BIFF8;
|
||||||
|
begin
|
||||||
|
TestWriteReadDates(sfExcel8);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSpreadReadDateTests.TestReadDate(FileName: string; Row: integer);
|
procedure TSpreadReadDateTests.TestReadDate(FileName: string; Row: integer);
|
||||||
var
|
var
|
||||||
MyWorksheet: TsWorksheet;
|
MyWorksheet: TsWorksheet;
|
||||||
|
@@ -91,10 +91,12 @@ type
|
|||||||
// Set up expected values:
|
// Set up expected values:
|
||||||
procedure SetUp; override;
|
procedure SetUp; override;
|
||||||
procedure TearDown; override;
|
procedure TearDown; override;
|
||||||
published
|
|
||||||
// Reads numbers values from spreadsheet and checks against list
|
// 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
|
// 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;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -149,7 +151,7 @@ begin
|
|||||||
inherited TearDown;
|
inherited TearDown;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers;
|
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers(AFormat: TsSpreadsheetFormat);
|
||||||
var
|
var
|
||||||
MyWorksheet: TsWorksheet;
|
MyWorksheet: TsWorksheet;
|
||||||
MyWorkbook: TsWorkbook;
|
MyWorkbook: TsWorkbook;
|
||||||
@@ -165,7 +167,7 @@ begin
|
|||||||
}
|
}
|
||||||
// Write out all test values
|
// Write out all test values
|
||||||
MyWorkbook := TsWorkbook.Create;
|
MyWorkbook := TsWorkbook.Create;
|
||||||
MyWorkSheet:=MyWorkBook.AddWorksheet(NumbersSheet);
|
MyWorkSheet := MyWorkBook.AddWorksheet(NumbersSheet);
|
||||||
for Row := Low(SollNumbers) to High(SollNumbers) do
|
for Row := Low(SollNumbers) to High(SollNumbers) do
|
||||||
begin
|
begin
|
||||||
MyWorkSheet.WriteNumber(Row,0,SollNumbers[Row]);
|
MyWorkSheet.WriteNumber(Row,0,SollNumbers[Row]);
|
||||||
@@ -173,13 +175,16 @@ begin
|
|||||||
ActualNumber:=MyWorkSheet.ReadAsNumber(Row,0);
|
ActualNumber:=MyWorkSheet.ReadAsNumber(Row,0);
|
||||||
CheckEquals(SollNumbers[Row],ActualNumber,'Test value mismatch cell '+CellNotation(MyWorkSheet,Row));
|
CheckEquals(SollNumbers[Row],ActualNumber,'Test value mismatch cell '+CellNotation(MyWorkSheet,Row));
|
||||||
end;
|
end;
|
||||||
MyWorkBook.WriteToFile(TempFile,sfExcel8,true);
|
MyWorkBook.WriteToFile(TempFile, AFormat, true);
|
||||||
MyWorkbook.Free;
|
MyWorkbook.Free;
|
||||||
|
|
||||||
// Open the spreadsheet, as biff8
|
// Open the spreadsheet, as biff8
|
||||||
MyWorkbook := TsWorkbook.Create;
|
MyWorkbook := TsWorkbook.Create;
|
||||||
MyWorkbook.ReadFromFile(TempFile, sfExcel8);
|
MyWorkbook.ReadFromFile(TempFile, AFormat);
|
||||||
MyWorksheet:=GetWorksheetByName(MyWorkBook,NumbersSheet);
|
if AFormat = sfExcel2 then
|
||||||
|
MyWorksheet := MyWorkbook.GetFirstWorksheet
|
||||||
|
else
|
||||||
|
MyWorksheet := GetWorksheetByName(MyWorkBook,NumbersSheet);
|
||||||
if MyWorksheet=nil then
|
if MyWorksheet=nil then
|
||||||
fail('Error in test code. Failed to get named worksheet');
|
fail('Error in test code. Failed to get named worksheet');
|
||||||
|
|
||||||
@@ -195,6 +200,16 @@ begin
|
|||||||
DeleteFile(TempFile);
|
DeleteFile(TempFile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers_BIFF5;
|
||||||
|
begin
|
||||||
|
TestWriteReadNumbers(sfExcel5);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSpreadWriteReadNumberTests.TestWriteReadNumbers_BIFF8;
|
||||||
|
begin
|
||||||
|
TestWriteReadNumbers(sfExcel8);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSpreadReadNumberTests.TestReadNumber(FileName: string; Row: integer);
|
procedure TSpreadReadNumberTests.TestReadNumber(FileName: string; Row: integer);
|
||||||
var
|
var
|
||||||
MyWorksheet: TsWorksheet;
|
MyWorksheet: TsWorksheet;
|
||||||
|
Reference in New Issue
Block a user